geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] Updated: (GERONIMO-2809) TransactionManagerImpl.getTransactionStatus() shouldn't throw on no tx (with patch)
Date Wed, 07 Feb 2007 14:09:05 GMT

     [ https://issues.apache.org/jira/browse/GERONIMO-2809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrus Adamchik updated GERONIMO-2809:
--------------------------------------

    Attachment: patch.txt

> TransactionManagerImpl.getTransactionStatus() shouldn't throw on no tx (with patch)
> -----------------------------------------------------------------------------------
>
>                 Key: GERONIMO-2809
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2809
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: transaction manager
>    Affects Versions: 2.0
>            Reporter: Andrus Adamchik
>             Fix For: 2.0
>
>         Attachments: patch.txt
>
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl, implementation of "TransactionSynchronizationRegistry.getTransactionStatus()"
method throws an IllegalStateException when called outside of active transaction. I believe
this behavior is wrong. According to JTA javadocs:
> "int getTransactionStatus()
> Return the status of the transaction bound to the current thread at the time this method
is called. This is the result of executing TransactionManager.getStatus() in the context of
the transaction bound to the current thread at the time this method is called.
> Returns: the status of the transaction bound to the current thread at the time this method
is called."
> So no exception is specified in the spec. Also current behavior caused grief when implementing
a JPA provider. Most methods on the EntityManager have this note: "throws TransactionRequiredException
if invoked on a container-managed entity manager of type PersistenceContextType.TRANSACTION
and there is no transaction.", but currently the provider can't even check the tx status consistently,
since this unexpected exception is thrown.
> See attached patch for the trivial fix.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message