rollback transaction when mapping exception to responses with Jersey ExceptionMapper2019 Community Moderator ElectionSpring transactional dont rollback when exception is mapped by ExceptionMapperTransaction-per-request and JerseyJersey/Jackson Exception problem with ExceptionMapperSpring transaction REQUIRED vs REQUIRES_NEW : Rollback TransactionHow to rollback Spring Transaction when an Exception is thrownTransaction rollback in OSGiWhy Jersey send a 403 status when an exception is not caught in my code?Jersey Custom Exception not caught by ExceptionMapperExceptionMapper for WebApplicationExceptions thrown with entity?Spring boot and Jersey, can't make ExceptionMapper workSpring-tx: Rollback only if exception is uncaught by outmost method
Built-In Shelves/Bookcases - IKEA vs Built
If the Captain's screens are out, does he switch seats with the co-pilot?
Should I take out a loan for a friend to invest on my behalf?
What is the chance of making a successful appeal to dismissal decision from a PhD program after failing the qualifying exam in the 2nd attempt?
How strictly should I take "Candidates must be local"?
Force user to remove USB token
How do I locate a classical quotation?
BitNot does not flip bits in the way I expected
What to do when during a meeting client people start to fight (even physically) with each others?
Is having access to past exams cheating and, if yes, could it be proven just by a good grade?
How did Alan Turing break the enigma code using the hint given by the lady in the bar?
Am I not good enough for you?
Can someone explain what is being said here in color publishing in the American Mathematical Monthly?
Algorithm to convert a fixed-length string to the smallest possible collision-free representation?
Why does Captain Marvel assume the planet where she lands would recognize her credentials?
How much stiffer are 23c tires over 28c?
How do I express some one as a black person?
Finding algorithms of QGIS commands?
Subset counting for even numbers
Do I really need to have a scientific explanation for my premise?
2×2×2 rubik's cube corner is twisted!
How do I deal with a powergamer in a game full of beginners in a school club?
Why is there a voltage between the mains ground and my radiator?
What is wrong with Escaped Shapeshifter's original wording?
rollback transaction when mapping exception to responses with Jersey ExceptionMapper
2019 Community Moderator ElectionSpring transactional dont rollback when exception is mapped by ExceptionMapperTransaction-per-request and JerseyJersey/Jackson Exception problem with ExceptionMapperSpring transaction REQUIRED vs REQUIRES_NEW : Rollback TransactionHow to rollback Spring Transaction when an Exception is thrownTransaction rollback in OSGiWhy Jersey send a 403 status when an exception is not caught in my code?Jersey Custom Exception not caught by ExceptionMapperExceptionMapper for WebApplicationExceptions thrown with entity?Spring boot and Jersey, can't make ExceptionMapper workSpring-tx: Rollback only if exception is uncaught by outmost method
I'm using a custom Jersey ExceptionMapper to map my unchecked exceptions into error responses (as described in the documentation). My problem is that the transaction is not rolled back, every DB modification made before the exception is persisted.
The same thing happens if, instead of using the ExceptionMapper, I throw a WebApplicationException.
How can I send an error response to the client preserving the normal behavior (rollback the transaction)?
I found a similar question here, but I don't use spring.
exception transactions jersey
New contributor
add a comment |
I'm using a custom Jersey ExceptionMapper to map my unchecked exceptions into error responses (as described in the documentation). My problem is that the transaction is not rolled back, every DB modification made before the exception is persisted.
The same thing happens if, instead of using the ExceptionMapper, I throw a WebApplicationException.
How can I send an error response to the client preserving the normal behavior (rollback the transaction)?
I found a similar question here, but I don't use spring.
exception transactions jersey
New contributor
add a comment |
I'm using a custom Jersey ExceptionMapper to map my unchecked exceptions into error responses (as described in the documentation). My problem is that the transaction is not rolled back, every DB modification made before the exception is persisted.
The same thing happens if, instead of using the ExceptionMapper, I throw a WebApplicationException.
How can I send an error response to the client preserving the normal behavior (rollback the transaction)?
I found a similar question here, but I don't use spring.
exception transactions jersey
New contributor
I'm using a custom Jersey ExceptionMapper to map my unchecked exceptions into error responses (as described in the documentation). My problem is that the transaction is not rolled back, every DB modification made before the exception is persisted.
The same thing happens if, instead of using the ExceptionMapper, I throw a WebApplicationException.
How can I send an error response to the client preserving the normal behavior (rollback the transaction)?
I found a similar question here, but I don't use spring.
exception transactions jersey
exception transactions jersey
New contributor
New contributor
New contributor
asked Mar 6 at 16:23
MarcoMarco
132
132
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
What you can do is use a RequestEventListener
to manage the transaction throughout the lifetime of the request. You can listen for RequestEvent.Type
s, which includes events such as RESOURCE_METHOD_START
, ON_EXCEPTION
, RESOURCE_METHOD_FINISH
, etc. You can begin the transaction at the beginning of the request processing and commit or rollback the transaction depending on if it a successful processing or an exception is thrown.
This is pretty much what Dropwizard does with it's @UnitOfWork
. You can see how it is all implemented in this package. Look at the UnitOfWorkApplicationEventListener
. You'll see how they implement what I was talking about above.
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Marco is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027775%2frollback-transaction-when-mapping-exception-to-responses-with-jersey-exceptionma%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
What you can do is use a RequestEventListener
to manage the transaction throughout the lifetime of the request. You can listen for RequestEvent.Type
s, which includes events such as RESOURCE_METHOD_START
, ON_EXCEPTION
, RESOURCE_METHOD_FINISH
, etc. You can begin the transaction at the beginning of the request processing and commit or rollback the transaction depending on if it a successful processing or an exception is thrown.
This is pretty much what Dropwizard does with it's @UnitOfWork
. You can see how it is all implemented in this package. Look at the UnitOfWorkApplicationEventListener
. You'll see how they implement what I was talking about above.
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
add a comment |
What you can do is use a RequestEventListener
to manage the transaction throughout the lifetime of the request. You can listen for RequestEvent.Type
s, which includes events such as RESOURCE_METHOD_START
, ON_EXCEPTION
, RESOURCE_METHOD_FINISH
, etc. You can begin the transaction at the beginning of the request processing and commit or rollback the transaction depending on if it a successful processing or an exception is thrown.
This is pretty much what Dropwizard does with it's @UnitOfWork
. You can see how it is all implemented in this package. Look at the UnitOfWorkApplicationEventListener
. You'll see how they implement what I was talking about above.
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
add a comment |
What you can do is use a RequestEventListener
to manage the transaction throughout the lifetime of the request. You can listen for RequestEvent.Type
s, which includes events such as RESOURCE_METHOD_START
, ON_EXCEPTION
, RESOURCE_METHOD_FINISH
, etc. You can begin the transaction at the beginning of the request processing and commit or rollback the transaction depending on if it a successful processing or an exception is thrown.
This is pretty much what Dropwizard does with it's @UnitOfWork
. You can see how it is all implemented in this package. Look at the UnitOfWorkApplicationEventListener
. You'll see how they implement what I was talking about above.
What you can do is use a RequestEventListener
to manage the transaction throughout the lifetime of the request. You can listen for RequestEvent.Type
s, which includes events such as RESOURCE_METHOD_START
, ON_EXCEPTION
, RESOURCE_METHOD_FINISH
, etc. You can begin the transaction at the beginning of the request processing and commit or rollback the transaction depending on if it a successful processing or an exception is thrown.
This is pretty much what Dropwizard does with it's @UnitOfWork
. You can see how it is all implemented in this package. Look at the UnitOfWorkApplicationEventListener
. You'll see how they implement what I was talking about above.
answered Mar 6 at 23:48
Paul SamsothaPaul Samsotha
153k20296487
153k20296487
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
add a comment |
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
HI Paul, thanks for the hint! I also found a possible solution in keycloak source code here.. just in case someone else encounters the same problem.
– Marco
Mar 8 at 7:21
add a comment |
Marco is a new contributor. Be nice, and check out our Code of Conduct.
Marco is a new contributor. Be nice, and check out our Code of Conduct.
Marco is a new contributor. Be nice, and check out our Code of Conduct.
Marco is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027775%2frollback-transaction-when-mapping-exception-to-responses-with-jersey-exceptionma%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown