[
https://jira.jboss.org/browse/JBRULES-2656?page=com.atlassian.jira.plugin...
]
Esteban Aliverti commented on JBRULES-2656:
-------------------------------------------
As I mentioned before, we are not creating the exceptions, so we can't nest them. I
will follow the second approach you have mentioned: to log t1 and to throw t2.
Best Regards,
SingleSessionCommandService Eats an Actual / Real Exception on
Rollback
-----------------------------------------------------------------------
Key: JBRULES-2656
URL:
https://jira.jboss.org/browse/JBRULES-2656
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: All
Affects Versions: 5.1.0.FINAL
Environment: N/A
Reporter: Anatoly Polinsky
Assignee: Esteban Aliverti
Original Estimate: 1 hour
Remaining Estimate: 1 hour
org.drools.persistence.session.SingleSessionCommandService, line 287:
public synchronized <T> T execute(Command<T> command) {
try {
txm.begin();
... ... ... // omitted for clarity
txm.commit();
return result;
} catch ( Exception t1 ) {
try {
txm.rollback();
<<<<<<<<<<<<<< IF THERE IS A PROBLEM DURING
ROLLBACK, THE REAL EXCEPTION ( "t1" ) IS EATEN.
} catch ( Exception t2 ) {
throw new RuntimeException( "Could not commit session or
rollback", <<<<< THIS IS THROWN, BUT "t1" IS IGNORED
t2 );
}
throw new RuntimeException( "Could not commit session",
t1 );
} finally {
if ( command instanceof DisposeCommand ) {
this.jpm.dispose();
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira