Bugs item #938296, was opened at 2004-04-20 01:57
Message generated for change (Settings changed) made by ejort
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=938296&group_id=22866
Category: JBossTX
Group: v3.2
Status: Open
Resolution: None
Priority: 5
Submitted By: Tom Davies (tomdavies)
>Assigned to: Adrian Brock (ejort)
Summary: beforeCompletion called on rollback()
Initial Comment:
JBoss calls the beforeCompletion() method on
javax.transaction.Synchronization callback objects when
a transaction is rolled back.
This is incorrect. The JTA spec says:
'The Synchronization.beforeCompletion method is called
prior to the start
of the two-phase transaction commit process. This call
is executed with the
transaction context of the transaction that is being
committed.'
and the change history of the spec says:
'Interface javax.transaction.Synchronization, method
beforeCompletion, change the following phrase in the
description "start of
the transaction completion process" to "start of the two-
phase transaction
commit process".'
Here's an example stack trace extract from 3.2.4RC1
(the behaviour is the same in 3.2.2 and 3.2.3).
kodo.runtime.PersistenceManagerImpl implements
Synchronization.
...
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion
(PersistenceManagerImpl.java:650)
at
org.jboss.tm.TransactionImpl.doBeforeCompletion
(TransactionImpl.java:1308)
at org.jboss.tm.TransactionImpl.rollback
(TransactionImpl.java:456)
at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction
(TxInterceptorCMT.java:436)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti
ons(TxInterceptorCMT.java:323)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke
(TxInterceptorCMT.java:147)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke
(SecurityInterceptor.java:118)
at org.jboss.ejb.plugins.LogInterceptor.invoke
(LogInterceptor.java:191)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invok
e(ProxyFactoryFinderInterceptor.java:122)
at
org.jboss.ejb.StatelessSessionContainer.internalInvoke
(StatelessSessionContainer.java:331)
at org.jboss.ejb.Container.invoke
(Container.java:713)
at
sun.reflect.GeneratedMethodAccessor131.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke
(Method.java:324)
at
org.jboss.mx.server.ReflectedDispatcher.dispatch
(ReflectedDispatcher.java:72)
at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:45)
at org.jboss.mx.server.Invocation.invoke
(Invocation.java:70)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:187)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:480)
at
org.jboss.invocation.local.LocalInvoker.invoke
(LocalInvoker.java:101)
at
org.jboss.invocation.InvokerInterceptor.invoke
(InvokerInterceptor.java:90)
at
org.jboss.proxy.TransactionInterceptor.invoke
(TransactionInterceptor.java:46)
at org.jboss.proxy.SecurityInterceptor.invoke
(SecurityInterceptor.java:45)
at
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke
(StatelessSessionInterceptor.java:100)
at org.jboss.proxy.ClientContainer.invoke
(ClientContainer.java:85)
at $Proxy52.executeCommand(Unknown
Source)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=938296&group_id=22866
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development