[jboss-jira] [JBoss JIRA] (AS7-4203) Persistent messages sent to JMS destinations deployed via a war file do not recover after a crash
Jeff Mesnil (JIRA)
jira-events at lists.jboss.org
Thu Mar 29 05:46:47 EDT 2012
[ https://issues.jboss.org/browse/AS7-4203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680252#comment-12680252 ]
Jeff Mesnil commented on AS7-4203:
----------------------------------
Mike, I can't reproduce the error.
I ran the jta-crash-rec examples by putting the test queue in WEB-INF/hornetq-jms.xml and it worked fine. When I restart the AS, the message is recovered, consumed and I see the "updated via JMS" in the DB row.
I just have to wait a bit (5s) to let the transaction manager triggers its periodic recovery
11:41:30,073 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.2.Final-SNAPSHOT "Brontes" started in 5784ms - Started 244 of 328 services (83 services are passive or on-demand)
11:41:36,482 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016037: Could not find new XAResource to use for recovering non-serializable XAResource XAResourceRecord < resource:null, txid:< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffc0a80112:-bdd79c1:4f742e26:16, node_name=1, branch_uid=0:ffffc0a80112:-bdd79c1:4f742e26:1a, subordinatenodename=null, eis_name=java:jboss/datasources/H2XADS1 >, heuristic: TwoPhaseOutcome.FINISH_OK, product: H2/1.3.161 (2011-10-28), jndiName: java:jboss/datasources/H2XADS1 com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord at 1e9ea89f >
11:41:36,484 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016038: No XAResource to recover < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffc0a80112:-bdd79c1:4f742e26:16, node_name=1, branch_uid=0:ffffc0a80112:-bdd79c1:4f742e26:1a, subordinatenodename=null, eis_name=java:jboss/datasources/H2XADS1 >
11:41:36,515 INFO [org.jboss.as.quickstarts.xa.DbUpdaterMDB] (Thread-1 (HornetQ-client-global-threads-17014579)) Received Message: HornetQMessage[ID:5354d2f5-7983-11e1-8289-2477031e9c44]:PERSISTENT
11:41:36,554 INFO [stdout] (Thread-1 (HornetQ-client-global-threads-17014579)) Hibernate: select kvpair0_.name as name0_0_, kvpair0_.value as value0_0_ from XA_KVPair kvpair0_ where kvpair0_.name=?
11:41:36,590 INFO [org.jboss.as.quickstarts.xa.DbUpdaterMDB] (Thread-1 (HornetQ-client-global-threads-17014579)) JTA Crash Record Quickstart: key value pair updated via JMS
11:41:36,600 INFO [stdout] (Thread-1 (HornetQ-client-global-threads-17014579)) Hibernate: update XA_KVPair set value=? where name=?
If I open the Web app at this point, I see the row has been updated via JMS.
I have pulled a request with the inclusion of the WEB-INF/hornetq-jms.xml https://github.com/mmusgrov/quickstart/pull/2
Could you give another try and check whether you can still reproduce the issue?
> Persistent messages sent to JMS destinations deployed via a war file do not recover after a crash
> -------------------------------------------------------------------------------------------------
>
> Key: AS7-4203
> URL: https://issues.jboss.org/browse/AS7-4203
> Project: Application Server 7
> Issue Type: Bug
> Components: JMS
> Affects Versions: 7.1.2.Final
> Reporter: Michael Musgrove
> Assignee: Jeff Mesnil
>
> I came across this issue whilst testing XA. The test case does a JPA update followed by JMS send inside a transaction. I allow both resources to prepare, I allow the JPA resource to commit but crash the AS (via Byteman) just before committing the JMS resource.
> If I define the queue in standalone-full.xml then the JMS message is delivered when recovery kicks in (ie after restarting the server). However, if I define the queue in the WEB-INF directory then the message is not recovered. The contents of hornetq-jms.xml that I ship with the war are:
> <?xml version="1.0" encoding="UTF-8"?>
> <messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
> <hornetq-server>
> <jms-destinations>
> <jms-queue name="jtaXaTestQueue">
> <entry name="queue/jtaXaTest"/>
> <entry name="java:jboss/exported/jms/queue/jtaXaTest"/>
> <durable>true</durable>
> </jms-queue>
> </jms-destinations>
> </hornetq-server>
> </messaging-deployment>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list