[jboss-jira] [JBoss JIRA] Commented: (JBAS-4980) Calling a message endpoint twice from different transactions makes MessageInflowLocalProxy confuse the two transactions

Adrian Brock (JIRA) jira-events at lists.jboss.org
Fri Nov 16 05:59:18 EST 2007


    [ http://jira.jboss.com/jira/browse/JBAS-4980?page=comments#action_12387893 ] 
            
Adrian Brock commented on JBAS-4980:
------------------------------------

The suggested fix looks correct. The same problem exists in the EJB2 proxy, see the subtask.

Additionally, the EJB2 interceptor in head has some additional changes to better synchronize
the state of the endpoint that need porting to the EJB3 version and jboss-4.2

Without the synchronization fixes, an OS or cpu that caches memory may not see the
transaction=null change.

> Calling a message endpoint twice from different transactions makes MessageInflowLocalProxy confuse the two transactions
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBAS-4980
>                 URL: http://jira.jboss.com/jira/browse/JBAS-4980
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: EJB3
>    Affects Versions: JBossAS-4.2.0.GA
>            Reporter: Marcus Nilsson
>         Assigned To: Carlo de Wolf
>             Fix For: JBossAS-5.0.0.CR1, JBossAS-4.2.3.GA
>
>
> We have a resource adapter where we call an endpoint (a MessageInflowLocalProxy) twice from two different transactions. This caused the endpoint to fail in endTransaction with
> Current transaction TransactionImple < ac, BasicAction: -3f57fcde:b392:473d5904:ab status: ActionStatus.RUNNING > is not the expected transaction
> We tracked this problem down to the member variable "transaction" in MessageInflowLocalProxy.java, which is not set to null in endTransaction. When the endpoint is called again during a transaction, startTransaction will leave it alone, making transaction point to the old one.
> http://anonsvn.jboss.org/repos/jbossas/tags/JBoss_4_2_0_GA/ejb3/src/main/org/jboss/ejb3/mdb/inflow/MessageInflowLocalProxy.java
> Suggested fix: Set transaction=null at end of transaction

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

        



More information about the jboss-jira mailing list