XA fails to start when JCA rar re-establishes connectivity with an external
broker (tcp transport).
---------------------------------------------------------------------------------------------------
Key: AMQ-1200
URL: https://issues.apache.org/activemq/browse/AMQ-1200
Project: ActiveMQ
Issue Type: Bug
Components: Broker, Connector
Affects Versions: 4.1.0
Environment: Linux 2.6.8-24.24-smp
java version "1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
Java HotSpot(TM) Server VM (build 1.5.0_09-b03, mixed mode)
fresh checkout of activemq-4.1 and build (as of 05-March-07).
Reporter: John Stalker
Priority: Minor
Hi,
Here's the scenario:
I recently (ie, a couple days ago) downloaded and built the 4.1 branch, set up
JBoss 4.0.5.GA with a slightly modified activemq-ra.rar (ra.xml modified to
communicate with an external instance of the broker via tcp and setting
UseInboundSession to true...not sure what this does really, but I tried it as
false and the same behavior happens).
Via a persistent queue (oracle 10 backing), I'm consuming messages in an MDB
via the JCA message datasource using XA.
Here's the problem I'm seeing: if I shut down the JMS server, I see the
appropriate EOF exception and subsequent reconnection attempts by the rar in
JBoss. When I startup the external activemq broker again, the connection
appears to get reestablished and work is accepted, started, and
completed...EXCEPT there's no mention of XA and thus the message is never
actually accepted and consumed.
Here's some debug output from the JCA:
PRE shutdown of external broker:
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
ServerSession requested.
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
Using idle session: ServerSessionImpl:1
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
Starting run.
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
accepted: [EMAIL PROTECTED]
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
started: [EMAIL PROTECTED]
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
Running
2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run
loop start
2007-03-09 11:43:02,884 DEBUG [org.apache.activemq.TransactionContext] Start:
XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114]
2007-03-09 11:43:02,884 DEBUG [org.apache.activemq.TransactionContext] Started
XA transaction: XID:257:6e6f64653131382f313134:31
- snip - output of a resulting consumption of message
2007-03-09 11:43:04,447 DEBUG [org.apache.activemq.TransactionContext] End:
XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114]
2007-03-09 11:43:04,447 DEBUG [org.apache.activemq.TransactionContext] Ended XA
transaction: XID:257:6e6f64653131382f313134:31
2007-03-09 11:43:04,448 DEBUG [org.apache.activemq.TransactionContext] Prepare:
XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114]
2007-03-09 11:43:04,454 DEBUG [org.apache.activemq.TransactionContext] Commit:
XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114]
2007-03-09 11:43:05,150 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run
loop end
2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
Session returned to pool: ServerSessionImpl:1
2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Run
finished
2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
completed: [EMAIL PROTECTED]
POST shutdown and restart of external broker
2007-03-09 11:46:33,077 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] Sending: WireFormatInfo {
version=2, properties={TightEncodingEnabled=true, CacheSize=1024,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
2007-03-09 11:46:33,126 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator] Received WireFormat:
WireFormatInfo { version=2, properties={TightEncodingEnabled=true,
CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false,
StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
2007-03-09 11:46:33,126 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator]
tcp://seqlims.broad.mit.edu/18.103.10.168:61616 before negotiation:
OpenWireFormat{version=2, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}
2007-03-09 11:46:33,126 DEBUG
[org.apache.activemq.transport.WireFormatNegotiator]
tcp://seqlims.broad.mit.edu/18.103.10.168:61616 after negotiation:
OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true,
tightEncodingEnabled=true, sizePrefixDisabled=false}
2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
ServerSession requested.
2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
Using idle session: ServerSessionImpl:1
2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
Starting run.
2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
accepted: [EMAIL PROTECTED]
2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
started: [EMAIL PROTECTED]
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1]
Running
- as you can see, no XA here
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run
loop start
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run
loop end
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl]
Session returned to pool: ServerSessionImpl:1
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Run
finished
2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work
completed: [EMAIL PROTECTED]
Thanks for your help!
John
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.