[
https://issues.jboss.org/browse/JBTM-849?page=com.atlassian.jira.plugin.s...
]
Jonathan Halliday commented on JBTM-849:
----------------------------------------
per the JTA spec, interposed Synchronizations must be called after non-interposed ones.
Since hibernate is (probably) using interposed Synchronizations, the tx has already passed
the point at which it can call non-interposed Synchronizations. Therefore it does not
allow them to be registered, on the basis that there needs to be some way to spot that
they are not going to get called, otherwise you'd spend hours scratching your head and
wondering why the Synchronization was not getting invoked.
The status is correct. The prepare phase comes after beforeCompletion, otherwise it would
be called duringCompletion :-)
registerSynchronization fails with from status message
------------------------------------------------------
Key: JBTM-849
URL:
https://issues.jboss.org/browse/JBTM-849
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JTA
Affects Versions: 4.15.1
Environment:
https://github.com/jbossejb3/jboss-as/tree/991e836c1bcb6b471010c5930fc3f5...
Reporter: Carlo de Wolf
Attachments: JBTM-849-stracktrace.txt
registerSynchronization is called from within a beforeCompletion of another
Synchronization. I would expect the status to be PREPARING (or anything but RUNNING).
{noformat}
java.lang.IllegalStateException: Synchronizations are not allowed! Transaction status
isActionStatus.RUNNING
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronizationImple(TransactionImple.java:367)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronization(TransactionImple.java:344)
at
org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.getRegisteredSynchronizer(TransactionSynchronizer.java:198)
at
org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:210)
at
org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:407)
... 104 more
{noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira