[jbossts-issues] [JBoss JIRA] Commented: (JBTM-664) The JTA transaction synchronization don't respect the JTA 1.1 specification

Olivier BILLIARD (JIRA) jira-events at lists.jboss.org
Tue Dec 1 10:52:29 EST 2009


    [ https://jira.jboss.org/jira/browse/JBTM-664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12497487#action_12497487 ] 

Olivier BILLIARD commented on JBTM-664:
---------------------------------------

I'm dealing with a communication problem between Spring and Jboss related to he JTA transaction management. I first thought it was a Spring error but it only seems to be a different way of dealing with the specification. This is too often the case, specification should be enough clear to forbid interpretation. 
I'm in the middle of the bridge :). You can tell me it's Spring's problem and Spring can tell me it's yours. Using IllegalStateException seem the best way to me. It doesn't change anything if the exception is catched as a RuntimeException elsewhere in the code and it's just a container for the real exception (RollbackException or SystemException).

Keep me posted as soon as possible what you decide.
At the moment we're still using the 5.0.1 GA version so I must patch myself the 4.5 GA JBTM version to able to use it with Spring in our environment. The 4.6.1 version, that will maybe contain this patch, only work with the 5.1 GA AS version. I want to keep our patched version alike the code of the next version for this problem.

> The JTA transaction synchronization don't respect the JTA 1.1 specification
> ---------------------------------------------------------------------------
>
>                 Key: JBTM-664
>                 URL: https://jira.jboss.org/jira/browse/JBTM-664
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JTA
>    Affects Versions: 4.5.0,  4.6.1.CP04
>         Environment: jboss AS 5.0.1 GA
>            Reporter: Olivier BILLIARD
>            Priority: Critical
>         Attachments: TransactionSynchronizationRegistryImple.java
>
>
> According to the JTA 1.1 specification, the registerInterposedSynchronization must throw an IllegalStateException if the no transaction is active ( http://java.sun.com/javaee/5/docs/api/javax/transaction/TransactionSynchronizationRegistry.html#registerInterposedSynchronization(javax.transaction.Synchronization) ). The current code throw a RuntimeException. It's a problem because some third party framework, like Spring, only catch RollbackException, SystemException and IllegalStateException.
> It'll be great to modify the registerInterposedSynchronization method for throwing the expected exception.
> I attach the corrected source file.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list