Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-4980

Calling a message endpoint twice from different transactions makes MessageInflowLocalProxy confuse the two transactions

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JBossAS-5.0.0.Beta3
    • JBossAS-4.2.0.GA
    • EJB
    • None

      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

              rhn-engineering-cdewolf Carlo de Wolf
              marcusn_jira Marcus Nilsson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: