3 Replies Latest reply on Jun 20, 2005 7:51 PM by apwalker

    Invoking MDB stopDelivery then startDelivery causes javax.jm

      When I invoke the startDelivery method via the jmx-console method on a MDB after invoking the stopDelivery I get a javax.jms.InvalidClientIDException exception This client id 'is-eai-receive' is already registered!

      The MDB has a durable subscrption to a topic.

      The stacktrace below shows that the method AbstractStateManager.addLoggedOnClientId throws the InvalidClientIDException. Looking at the source it is checking to see if the ClientId is already connected. I'm not sure but shouldn't the stopDelivery remove the clientID?

      2005-06-20 00:21:57,684 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
      2005-06-20 00:21:57,684 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/DefaultJMSProvider
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@ec1e6f
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@1a88001
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: Connection@2519217[token=ConnectionToken:null/377c32a5c464c3278e7d608bb3a97c7c rcvstate=STOPPED]
      2005-06-20 00:21:57,694 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using Queue: QUEUE.DLQ
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created DLQHandler
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] context: javax.naming.InitialContext@1b0af03
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] jndiSuffix: EAITopic
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Got destination type Topic for AxisUpdateISMDB
      2005-06-20 00:21:57,694 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Using client id: is-eai-receive
      2005-06-20 00:21:57,704 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
      org.jboss.deployment.DeploymentException: Error during topic setup; - nested throwable: (javax.jms.InvalidClientIDException: This client id 'is-eai-receive' is already registered!)
       at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:39)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:807)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startDelivery(JMSContainerInvoker.java:347)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:243)
       at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:208)
       at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:247)
       at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:85)
       at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:67)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: javax.jms.InvalidClientIDException: This client id 'is-eai-receive' is already registered!
       at org.jboss.mq.sm.AbstractStateManager.addLoggedOnClientId(AbstractStateManager.java:184)
       at org.jboss.mq.server.JMSDestinationManager.checkID(JMSDestinationManager.java:360)
       at org.jboss.mq.server.JMSServerInterceptorSupport.checkID(JMSServerInterceptorSupport.java:124)
       at org.jboss.mq.server.TracingInterceptor.checkID(TracingInterceptor.java:230)
       at org.jboss.mq.server.JMSServerInvoker.checkID(JMSServerInvoker.java:124)
       at org.jboss.mq.il.jvm.JVMServerIL.checkID(JVMServerIL.java:189)
       at org.jboss.mq.Connection.setClientID(Connection.java:529)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:720)
       ... 37 more



      Config:
      JBoss: 4.0.1 and 4.0.2
      OS: win2K & hpux
      JVM: Sun 1.4.2
      both file & JDBC based MQ state manager

      Messages published to the topic are no longer being consumed by the MDB. Either a restart of the server or a redeploy of the MDB is required.



        • 1. Re: Invoking MDB stopDelivery then startDelivery causes java

           

          "apwalker" wrote:
          Looking at the source it is checking to see if the ClientId is already connected. I'm not sure but shouldn't the stopDelivery remove the clientID?


          Yes it does. But since you don't show the logging for closing the connection
          (including the TRACE logging as described in "READ THIS FIRST" who knows
          what is happening....)

          org.jboss.mq.server.JMSDestinationManager
           public void connectionClosing(ConnectionToken dc) throws JMSException
           {
           if (dc == null)
           return;
          
           // Close it's ClientConsumer
           ClientConsumer cq = (ClientConsumer) clientConsumers.remove(dc);
           if (cq != null)
           cq.close();
          
          // HERE !!!!!!!!!!!!!!!!!!!
          
           //unregister its clientID
           if (dc.getClientID() != null)
           stateManager.removeLoggedOnClientId(dc.getClientID());
          


          • 2. Re: Invoking MDB stopDelivery then startDelivery causes java
            • 3. Re: Invoking MDB stopDelivery then startDelivery causes java

              Please find the TRACE for both stopDelivery and startDelivery below.

              I also ran the it using a debugger and put a breakpoint in the JMSDestinationManager and found that in the startDelivery call the line dc.getClientID() returned null.

              I'll step through the whole process to find out why but for now please find all the TRACE info below.

               //unregister its clientID
               if (dc.getClientID() != null)
               stateManager.removeLoggedOnClientId(dc.getClientID());
              



              stopDelivery TRACE
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Stop requested
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] unset exception listener
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.Connection] Stopping connection Connection@23706350[token=ConnectionToken:is-eai-receive/5327238a5b8df5be34d20e4c3b4f14b0 rcvstate=STOPPED]
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : setEnabled
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : false
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.ClientConsumer] ClientConsumer:is-eai-receive->setEnabled(enabled=false)
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : setEnabled
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] connection stopped
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopping DLQHandler
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.Connection] Stopping connection Connection@5079104[token=ConnectionToken:ID:1/c1df3e95a7c2d70909cb1222b2dbf790 rcvstate=STOPPED]
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : setEnabled
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : false
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.ClientConsumer] ClientConsumer:ID:1->setEnabled(enabled=false)
              2005-06-20 23:28:06,406 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : setEnabled
              2005-06-20 23:28:06,406 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopped DLQHandler
              


              startDelivery TRACE
              2005-06-20 23:34:06,394 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
              2005-06-20 23:34:06,394 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/DefaultJMSProvider
              2005-06-20 23:34:06,394 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@51207c
              2005-06-20 23:34:06,394 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing
              2005-06-20 23:34:06,394 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@2b452b
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Connection Initializing userName=null Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Getting the serverIL Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@1f14fd Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Authenticating user null Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user null/null
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.security.SecurityManager] Username: null is authenticated
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.SimpleGroup Roles(members:j2ee,guest,john)
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Starting the client il Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Using client id org.jboss.mq.il.jvm.JVMClientILService@174a1a2 Connection@1838192[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Creating XAResourceManager Connection@1838192[token=ConnectionToken:null/28ca4f7a310a08b1f59e71bfd444ced3 rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Starting the ping thread Connection@1838192[token=ConnectionToken:null/28ca4f7a310a08b1f59e71bfd444ced3 rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Connection establishment successful Connection@1838192[token=ConnectionToken:null/28ca4f7a310a08b1f59e71bfd444ced3 rcvstate=STOPPED]
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: Connection@1838192[token=ConnectionToken:null/28ca4f7a310a08b1f59e71bfd444ced3 rcvstate=STOPPED]
              2005-06-20 23:34:06,404 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using Queue: QUEUE.DLQ
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created DLQHandler
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] context: javax.naming.InitialContext@1fb85b
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] jndiSuffix: EAITopic
              2005-06-20 23:34:06,404 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Got destination type Topic for AxisUpdateISMDB
              2005-06-20 23:34:06,404 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using connection factory: org.jboss.mq.SpyXAConnectionFactory@2b452b
              2005-06-20 23:34:06,404 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using username/password: dynsub/dynsub
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Connection Initializing userName=dynsub Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Getting the serverIL Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@1f14fd Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.Connection] Authenticating user dynsub Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user dynsub/dynsub
              2005-06-20 23:34:06,404 TRACE [org.jboss.mq.security.SecurityManager] Username: dynsub is authenticated
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.SimpleGroup Roles(members:durpublisher,publisher)
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Ask for an id user=dynsub Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : checkUser
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : dynsub
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : (password not shown)
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : checkUser
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Starting the client il Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Using client id org.jboss.mq.il.jvm.JVMClientILService@a3acf0 Connection@8413831[clientID=null rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Creating XAResourceManager Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Starting the ping thread Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Connection establishment successful Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 DEBUG [org.jboss.jms.ConnectionFactoryHelper] created XATopicConnection: Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Using client id: is-eai-receive
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] SetClientID clientID=null Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : checkID
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : is-eai-receive
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] EXCEPTION : checkID:
              javax.jms.InvalidClientIDException: This client id 'is-eai-receive' is already registered!
               at org.jboss.mq.sm.AbstractStateManager.addLoggedOnClientId(AbstractStateManager.java:184)
               at org.jboss.mq.server.JMSDestinationManager.checkID(JMSDestinationManager.java:360)
               at org.jboss.mq.server.JMSServerInterceptorSupport.checkID(JMSServerInterceptorSupport.java:124)
               at org.jboss.mq.server.TracingInterceptor.checkID(TracingInterceptor.java:238)
               at org.jboss.mq.server.JMSServerInvoker.checkID(JMSServerInvoker.java:124)
               at org.jboss.mq.il.jvm.JVMServerIL.checkID(JVMServerIL.java:189)
               at org.jboss.mq.Connection.setClientID(Connection.java:529)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:720)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startDelivery(JMSContainerInvoker.java:347)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
               at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:243)
               at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:208)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:247)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:85)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:67)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
               at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
               at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
               at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
               at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
               at java.lang.Thread.run(Thread.java:534)
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : checkID
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Closing connection Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Closing sessions Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSING rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Closed sessions Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSING rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.Connection] Notifying the server of close Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSING rcvstate=STOPPED]
              2005-06-20 23:34:06,414 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : connectionClosing
              2005-06-20 23:40:41,775 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : connectionClosing
              2005-06-20 23:40:41,775 TRACE [org.jboss.mq.Connection] Stopping ping thread Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSING rcvstate=STOPPED]
              2005-06-20 23:40:41,775 TRACE [org.jboss.mq.Connection] Stopping the ClientIL service Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSING rcvstate=STOPPED]
              2005-06-20 23:40:41,775 TRACE [org.jboss.mq.Connection] Disconnected from server Connection@8413831[token=ConnectionToken:null/95067d50c7bf5a2c9042410309f53cca CLOSED rcvstate=STOPPED]
              2005-06-20 23:40:41,785 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
              org.jboss.deployment.DeploymentException: Error during topic setup; - nested throwable: (javax.jms.InvalidClientIDException: This client id 'is-eai-receive' is already registered!)
               at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:39)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:807)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startDelivery(JMSContainerInvoker.java:347)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
               at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:243)
               at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:208)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:247)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:85)
               at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:67)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
               at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
               at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
               at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
               at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
               at java.lang.Thread.run(Thread.java:534)
              Caused by: javax.jms.InvalidClientIDException: This client id 'is-eai-receive' is already registered!
               at org.jboss.mq.sm.AbstractStateManager.addLoggedOnClientId(AbstractStateManager.java:184)
               at org.jboss.mq.server.JMSDestinationManager.checkID(JMSDestinationManager.java:360)
               at org.jboss.mq.server.JMSServerInterceptorSupport.checkID(JMSServerInterceptorSupport.java:124)
               at org.jboss.mq.server.TracingInterceptor.checkID(TracingInterceptor.java:238)
               at org.jboss.mq.server.JMSServerInvoker.checkID(JMSServerInvoker.java:124)
               at org.jboss.mq.il.jvm.JVMServerIL.checkID(JVMServerIL.java:189)
               at org.jboss.mq.Connection.setClientID(Connection.java:529)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:720)
               ... 37 more
              


              Also I would be happy to work on Test Cases for this functionality as I find it invaluable.