There's some code in
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple that says...
// keep a record of why we are rolling back i.e. who called us first, it's a
useful debug aid.
| if(_rollbackOnlyCallerStacktrace == null)
| {
| _rollbackOnlyCallerStacktrace = new Throwable("setRollbackOnly called
from:");
| }
...this seems to partner with some other code that says...
if(_rollbackOnlyCallerStacktrace != null) {
| // we rolled back beacuse the user explicitly told us not to commit.
Attach the trace of who did that for debug:
| rollbackException.initCause(_rollbackOnlyCallerStacktrace);
| }
| else if(_theTransaction.getDeferredThrowable() != null) {
| // we tried to commit but it went wrong - attach the reason for debug:
| rollbackException.initCause(_theTransaction.getDeferredThrowable());
| }
| throw rollbackException;
...so we are attaching an empty Throwable with the text 'setRollbackOnly called
from:' to the bottom of the stack trace. Contrary to the comments, this does
not appear a useful debug aid. Rather, the 'deferredThrowable' might be more
useful.
In JBoss 4.2.3.GA the bottom of the stacktrace contained something useful (such
as the SQL error that caused the rollback).
Is this a bug?
Regards,
Richard.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4239599#4239599
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4239599
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user