I have two clustered JMS servers running JBoss [Zion] 4.0.4.GA (build:
CVSTag=JBoss_4_0_4_GA date=200605151000); the servers run linux (debian). JMS data is
persisted to a postgres8.1 database; each server has the same configuration (same JMS
destinations; same datasource for the JMS persistence manager, etc.) and the same ear
files deployed.
I have a Topic with one non-durable subscriber (no client id required) and two durable
topic subscribers as MDBs (durable subscribers have client ids 'myClientId' and
'anotherClientId'). I deploy the same ear file to each of the two nodes. The
node that is not the master node outputs log entries (pasted below) for 'JMS provider
failure'; each of the two messages indicate that the client id is already connected to
the server. Now this makes sense because the master node has the same two MDBs deployed.
I have read in another forum post that the JMS spec mentions that if another connection
with the same clientID is already running the JMS provider should detect the duplicate ID
and throw an InvalidClientIDException (I did not see this in the spec when I searched on
"InvalidClientIDException" but it seems reasonable).
As you can see the log entries are only WARN level entries but they continue to be logged.
I have seen a forum post that says to use the "ClientMonitorInterceptor" in
jbossmq-service.xml but I am not confident that this is a good solution. Has anyone else
who has run into this problem found a good solution? The posts that I have seen do not
provide a solution. Perhaps it is nothing of high concern.
Thanks for any help.
| 10:55:54,538 INFO [EJB3 MDB Create Recovery Thread][MDB] Trying to reconnect to JMS
provider
| 10:55:54,538 INFO [EJB3 MDB Create Recovery Thread][MDB] Reconnected to JMS provider
| 10:55:54,579 INFO [EJB3 MDB Create Recovery Thread][MDB] Reconnected to JMS provider
| 10:55:54,579 WARN [EJB3 MDB Create Recovery Thread][MDB] JMS provider failure
detected:
| javax.jms.InvalidClientIDException: This client id 'myClientId' is already
registered!
| at
org.jboss.mq.sm.AbstractStateManager.addLoggedOnClientId(AbstractStateManager.java:196)
| at
org.jboss.mq.server.JMSDestinationManager.checkID(JMSDestinationManager.java:384)
| at
org.jboss.mq.server.JMSServerInterceptorSupport.checkID(JMSServerInterceptorSupport.java:138)
| at
org.jboss.mq.server.TracingInterceptor.checkID(TracingInterceptor.java:226)
| at org.jboss.mq.server.JMSServerInvoker.checkID(JMSServerInvoker.java:139)
| at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:120)
| at
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:396)
| at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:392)
| at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
| at java.lang.Thread.run(Thread.java:595)
| 10:55:54,579 INFO [EJB3 MDB Create Recovery Thread][MDB] Trying to reconnect to JMS
provider
| 10:56:04,577 WARN [EJB3 MDB Create Recovery Thread][MDB] JMS provider failure
detected:
| javax.jms.JMSSecurityException: The login id has an assigned client id
'anotherClientId', that is already connected to the server!
| at
org.jboss.mq.sm.AbstractStateManager.checkUser(AbstractStateManager.java:180)
| at
org.jboss.mq.server.JMSDestinationManager.checkUser(JMSDestinationManager.java:627)
| at
org.jboss.mq.server.JMSServerInterceptorSupport.checkUser(JMSServerInterceptorSupport.java:288)
| at
org.jboss.mq.server.TracingInterceptor.checkUser(TracingInterceptor.java:704)
| at org.jboss.mq.server.JMSServerInvoker.checkUser(JMSServerInvoker.java:289)
| at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:204)
| at
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:396)
| at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:392)
| at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
| at java.lang.Thread.run(Thread.java:595)
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3968472#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...