Hi

I'm using embedded OpenEJB 4.0.0 for testing in my project and I'm
testing it's JTA features. It seems that if I use a persistenceunit with
transaction-type="RESOURCE_LOCAL" I get full stacktraces in the logs if
something exceptions gets thrown.

But if i use transaction-type="JTA", let the container control the
transactions (@TransactionAttribute), and log (log4j) the exceptions
occuring, I only get something like:


javax.ejb.EJBTransactionRolledbackException: Transaction was rolled
back, presumably because setRollbackOnly was called during a synchronization
        at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:350)
.......

Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback
        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
.......

Caused by:
org.apache.geronimo.transaction.manager.SetRollbackOnlyException:
setRollbackOnly() called.  See stacktrace for origin
        at
org.apache.geronimo.transaction.manager.TransactionImpl.setRollbackOnly(TransactionImpl.java:126)
.......

Nothing specific of what or where the exception occured.


Is there some logging or config that needs to be done or can I "inject"
my own exception handling/logging in JTA to make it more usable?

Reply via email to