You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by marnold <ma...@gmail.com> on 2012/02/26 09:56:27 UTC

javax.jms.InvalidClientIDException

Hi,

I have an ActiveMQ 5.5.1 broker embedded in JBoss 5.1.  I used these
instructions:
http://activemq.apache.org/integrating-apache-activemq-with-jboss.html

I have MDBs on ActiveMQ queues.  As part of their processing, these MDBs
call SLSBs to send JMS messages to other ActiveMQ queues.  My goal is to
have the MDB's onMessage() dequeue in the same transaction as any other JMS
operation they may perform (through calls to SLSBs).

Unfortunately I get this error in my SLSB when I try to create a queue
session:

javax.jms.JMSException: Could not enlist in transaction on entering
meta-aware object!; - nested throwable: (javax.transaction.SystemException:
java.lang.Throwable: Unabled to enlist resource, see the previous warnings.
tx=TransactionImple < ac, BasicAction: a003040:f217:4f49ec5f:a4 status:
ActionStatus.ABORT_ONLY >)

If I check the previous warnings I find this (changed my hostname to
xxxxxxx):

2012-02-26 16:26:35,387 WARN 
[org.apache.activemq.broker.TransportConnection] (WorkManager(2)-13) Failed
to add Connection ID:xxxxxxxxx-61979-1330244707051-2:3, reason:
javax.jms.InvalidClientIDException: Broker: jboss-activemq-broker - Client:
ID:xxxxxxxx-61979-1330244707051-5:2 already connected from
vm://jboss-activemq-broker#4
2012-02-26 16:26:35,390 WARN  [com.arjuna.ats.jta.logging.loggerI18N]
(WorkManager(2)-13)
[com.arjuna.ats.internal.jta.transaction.arjunacore.xastart]
[com.arjuna.ats.internal.jta.transaction.arjunacore.xastart]
TransactionImple.enlistResource - xa_start  - caught:
XAException.XAER_RMFAIL for < 131075, 26, 24,
494597484851485248581025049555852102525710199531025897529748485148524858102504955585210252571019953102589753
>
2012-02-26 16:26:35,392 ERROR [STDERR] (WorkManager(2)-13)
javax.transaction.xa.XAException: Broker: jboss-activemq-broker - Client:
ID:xxxxxxxx-61979-1330244707051-5:2 already connected from
vm://jboss-activemq-broker#4
2012-02-26 16:26:35,394 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:738)
2012-02-26 16:26:35,394 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.TransactionContext.setXid(TransactionContext.java:648)
2012-02-26 16:26:35,394 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.TransactionContext.start(TransactionContext.java:347)
2012-02-26 16:26:35,395 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.ra.LocalAndXATransaction.start(LocalAndXATransaction.java:136)
2012-02-26 16:26:35,395 ERROR [STDERR] (WorkManager(2)-13) 	at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:899)
[snip]
2012-02-26 16:26:35,492 ERROR [STDERR] (WorkManager(2)-13) Caused by:
javax.jms.InvalidClientIDException: Broker: jboss-activemq-broker - Client:
ID:xxxxxxxx-61979-1330244707051-5:2 already connected from
vm://jboss-activemq-broker#4
2012-02-26 16:26:35,493 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:243)
2012-02-26 16:26:35,493 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
2012-02-26 16:26:35,493 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
2012-02-26 16:26:35,493 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
2012-02-26 16:26:35,494 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
2012-02-26 16:26:35,494 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91)
2012-02-26 16:26:35,502 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:692)
2012-02-26 16:26:35,505 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:137)
2012-02-26 16:26:35,505 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
2012-02-26 16:26:35,506 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
2012-02-26 16:26:35,506 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
2012-02-26 16:26:35,506 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
2012-02-26 16:26:35,506 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:121)
2012-02-26 16:26:35,507 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:112)
2012-02-26 16:26:35,508 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
2012-02-26 16:26:35,508 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
2012-02-26 16:26:35,508 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
2012-02-26 16:26:35,508 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1284)
2012-02-26 16:26:35,509 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1392)
2012-02-26 16:26:35,509 ERROR [STDERR] (WorkManager(2)-13) 	at
org.apache.activemq.TransactionContext.setXid(TransactionContext.java:646)
2012-02-26 16:26:35,509 ERROR [STDERR] (WorkManager(2)-13) 	... 143 more

I don't why it's a problem to be already connected..?  

I also notice that after my MDB onMessage() completes, I always get this
warning:

2012-02-26 16:26:35,122 WARN 
[org.apache.activemq.broker.TransportConnection.Service] (WorkManager(2)-12)
Failed to remove connection ConnectionInfo {commandId = 10, responseRequired
= true, connectionId = ID:xxxxxxxx-61979-1330244707051-2:3, clientId =
ID:xxxxxxxx-61979-1330244707051-5:2, userName = defaultUser, password =
*****, brokerPath = null, brokerMasterConnector = false, manageable = true,
clientMaster = true, faultTolerant = false}, reason:
java.lang.NullPointerException

I don't know if that's related or not.  But a NullPointerException does not
look good in my log.

Does anybody have any advice?  Is there a way to debug ActiveMQ?  Should I
try a different version?  Does anybody have a similar setup, but have it
working?

Thanks in advance for any assistance.





--
View this message in context: http://activemq.2283324.n4.nabble.com/javax-jms-InvalidClientIDException-tp4421798p4421798.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: javax.jms.InvalidClientIDException

Posted by marnold <ma...@gmail.com>.
Some additional information...

The error above only occurs on the third and subsequent send "in a row". 
That is, the first and second time my MDB sends its JMS message without
errors, but the third time fails.  "in a row", because if I leave a good
minute between attempts, it always works.

I have tried setting 'async' to false in the following ways, in ra.xml:

    <config-property-name>ServerUrl</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
   
<config-property-value>vm://jboss-activemq-broker?create=false&amp;async=false</config-property-value>

...and in my *-ds.ml in deply directory: 

      
<connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
      
<ServerUrl>vm://jboss-activemq-broker?create=false&amp;async=false</ServerUrl>

...but this hasen't made any difference.

(Also... apologies for the uninformative subject.  I clicked too soon.)

--
View this message in context: http://activemq.2283324.n4.nabble.com/javax-jms-InvalidClientIDException-tp4421798p4422074.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.