You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2012/10/07 12:54:02 UTC

[jira] [Resolved] (AMQ-1719) Resource adapter stops consuming messages after broker is forcefully stopped/restarted during XA transaction.

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

Claus Ibsen resolved AMQ-1719.
------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: NEEDS_REVIEWED)
                   5.8.0
         Assignee: Claus Ibsen

I looked in the latest code, and added a fix for the potential NPE.
                
> Resource adapter stops consuming messages after broker is forcefully stopped/restarted during XA transaction.
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1719
>                 URL: https://issues.apache.org/jira/browse/AMQ-1719
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, Connector
>    Affects Versions: 5.1.0
>         Environment: Windows XP, IBM WebSphere 6.1.0.15, Oracle 10.2.0.3, Java 1.5.0 ( IBM J9 VM), ActiveMQ 5.1.0 downloaded 2008-May-12.
>            Reporter: Johan Ekesparr
>            Assignee: Claus Ibsen
>             Fix For: 5.8.0
>
>         Attachments: ASF.LICENSE.NOT.GRANTED--apache-activemq-5.1.0_data.tar.zip, ASF.LICENSE.NOT.GRANTED--DemoEAR.ear, ASF.LICENSE.NOT.GRANTED--websphere_trace.log
>
>
> Have attached logs from websphere, activeMQ and also the content of the datadirectory for details of data state ( plus the smal program used to create the scenario).
> #1. Installed the resource adapter that came with ActiveMQ into the websperhe applicationserver and configured it to connect to external broker using failover.
> #2. Setup a JDBC XA datasource ( Oracle ) and JMS XA destination ( ActiveMQ ).
> #3. Created a small Message Driven bean that receives a JMS message that it tries to store in the database after which it sleeps for 5 secs. And deployed it to the WebSphere appserver.
> #4. Started the activemq broker without doing any modifications since the download and extract into the filesystem.
> #5. Started applicationserver. 
> #6. Started publishing messages to the broker
> #7. As expected the Message driven bean received the messages one-by-one and processed them.
> #8. Used to ctrl-C on the broker to halt it in the middle of the processing. Resulting in a failed commit of XA transaction.
> #9. Waited a while and then started broker again.
> #10. Received Exception on client side and nothing more happened. 
> Exception in thread "ActiveMQ Transport: tcp://localhost/127.0.0.1:61616" java.lang.NullPointerException
>     at org.apache.activemq.state.ConnectionStateTracker$RemoveTransactionAction.run(ConnectionStateTracker.java:84)
>     at org.apache.activemq.state.Tracked.onResponses(Tracked.java:31)
>     at org.apache.activemq.transport.failover.FailoverTransport$3.onCommand(FailoverTransport.java:148)
>     at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>     at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>     at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>     at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>     at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
>     at java.lang.Thread.run(Thread.java:801)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira