Hi,

I have ActiveMQ 5.0 running embedded in JBoss 4.2.2 using the rar adapter. I see the following stack trace every time a message is written to a queue from within a EJB.

09:11:44,225 WARN [Service] Failed to remove connection ConnectionInfo {commandId = 1, responseRequired = true, connectionId = ID:cebra.local-50034-1209560921622-2:2, clientId = null, userName = admin, password = ***, brokerPath = null, brokerMasterConnector = false, manageable = true, clientMaster = true} javax.jms.InvalidClientIDException: No clientID specified for connection disconnect request at org.apache.activemq.broker.region.RegionBroker.removeConnection (RegionBroker.java:218) at org.apache.activemq.broker.TransactionBroker.removeConnection (TransactionBroker.java:248) at org.apache.activemq.advisory.AdvisoryBroker.removeConnection (AdvisoryBroker.java:208) at org.apache.activemq.broker.BrokerFilter.removeConnection (BrokerFilter.java:109) at org.apache.activemq.broker.MutableBrokerFilter.removeConnection (MutableBrokerFilter.java:119) at org.apache.activemq.broker.TransportConnection.processRemoveConnection (TransportConnection.java:697)
        at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:60)
at org.apache.activemq.broker.TransportConnection.service (TransportConnection.java:281) at org.apache.activemq.broker.TransportConnection$1.onCommand (TransportConnection.java:178) at org.apache.activemq.transport.ResponseCorrelator.onCommand (ResponseCorrelator.java:100) at org.apache.activemq.transport.TransportFilter.onCommand (TransportFilter.java:67) at org.apache.activemq.transport.vm.VMTransport.iterate (VMTransport.java:202) at org.apache.activemq.thread.PooledTaskRunner.runTask (PooledTaskRunner.java:118) at org.apache.activemq.thread.PooledTaskRunner$1.run (PooledTaskRunner.java:42) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:613)



In my ra.xml  I'm not setting the client ID.

        <config-property>
<description>The client id that will be set on the connection that is established to the ActiveMQ server.</description>
            <config-property-name>Clientid</config-property-name>
<config-property-type>java.lang.String</config-property- type>
            <!--
            <config-property-value></config-property-value>
             -->
        </config-property>


If I do, then I get other errors indicating duplicate client IDs.

My connection factory is defined in the file "activemq-ds.xml"  as:

   <tx-connection-factory>
      <jndi-name>ConnectionFactory</jndi-name>
      <xa-transaction/>
      <track-connection-by-tx/>
      <rar-name>activemq-ra.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection- definition>
      <min-pool-size>10</min-pool-size>
      <max-pool-size>100</max-pool-size>
      <blocking-timeout-millis>30000</blocking-timeout-millis>
      <idle-timeout-minutes>3</idle-timeout-minutes>
      <ServerUrl>vm://localhost</ServerUrl>
      <use-java-context>false</use-java-context>
   </tx-connection-factory>


The EJB gets the connection factory injected:

@Resource(mappedName="ConnectionFactory")
private ConnectionFactory fact;


The EJB itself does not fail, i.e. it does not get the exception. It's just in the log file that I see the stack trace.


Does anybody know why is this, and how to solve it?
Any help will be appreciated.

Thanks,
Alex Soto

Reply via email to