Author |
Message
|
igortech |
Posted: Wed Feb 23, 2005 1:23 pm Post subject: MDB pub/sub ListenerPort problem;subscription already in use |
|
|
Newbie
Joined: 19 Feb 2005 Posts: 4
|
We are running WAS5.1, pub/sub MDBs and MB5.0 On a subsequent starts of WAS application, I get the exception, in summary saying that Subscription is already in use and cannot be updated, and it prevents the start of the ListenerPort.
thank you
P.S.
at the end of this exception stack, I am including another exception from the WAS log which comes up at the very beginning.
Here is the complete exception:
[2/23/05 14:47:57:938 CST] 32533071 ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/Cluster_Sub_Test_Tcf. The exception which was received is javax.jms.JMSException: MQJMS3050: Subscription is already in use and cannot be updated
[2/23/05 14:47:57:969 CST] 3a76b070 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB SubscribingSimMDB , JMSDestination jms/Cluster_Sub_Test_Topic : javax.jms.JMSException: MQJMS3050: Subscription is already in use and cannot be updated
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.openDurableSubscription(MQBrokerSubscriptionEngine.java:1197)
at com.ibm.mq.jms.MQMigrateSubscriptionEngine.openDurableSubscription(MQMigrateSubscriptionEngine.java:544)
at com.ibm.mq.jms.MQConnectionBrowser.pubSubSetup(MQConnectionBrowser.java:400)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:266)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:143)
at com.ibm.mq.jms.MQConnection.createDurableConnectionBrowser(MQConnection.java:3438)
at com.ibm.mq.jms.MQTopicConnection.createDurableConnectionBrowser(MQTopicConnection.java:353)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:463)
at com.ibm.mq.jms.MQConnection.createDurableConnectionConsumer(MQConnection.java:3349)
at com.ibm.ejs.jms.JMSTopicConnectionHandle.createDurableConnectionConsumer(JMSTopicConnectionHandle.java:188)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:438)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:586)
at com.ibm.ejs.jms.listener.MDBListenerImpl.start(MDBListenerImpl.java:518)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:482)
at com.ibm.ejs.jms.listener.MsgListenerPort.add(MsgListenerPort.java:152)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.startApplicationMDBs(MDBListenerManagerImpl.java:715)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.stateChanged(MDBListenerManagerImpl.java:686)
at com.ibm.ws.runtime.component.MessageListenerImpl.stateChanged(MessageListenerImpl.java:151)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.stateChanged(ApplicationMgrImpl.java:475)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectEvent(DeployedApplicationImpl.java:791)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.setState(DeployedApplicationImpl.java:157)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.setState(DeployedApplicationImpl.java:153)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:589)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:299)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:256)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:5
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189)
[2/23/05 14:47:58:453 CST] 32533071 MDBListenerIm W WMSG0019E: Unable to start MDB Listener SubscribingSimMDB, JMSDestination jms/Cluster_Sub_Test_Topic : javax.jms.JMSException: MQJMS3050: Subscription is already in use and cannot be updated
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.openDurableSubscription(MQBrokerSubscriptionEngine.java:1197)
at com.ibm.mq.jms.MQMigrateSubscriptionEngine.openDurableSubscription(MQMigrateSubscriptionEngine.java:544)
at com.ibm.mq.jms.MQConnectionBrowser.pubSubSetup(MQConnectionBrowser.java:400)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:266)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:143)
at com.ibm.mq.jms.MQConnection.createDurableConnectionBrowser(MQConnection.java:3438)
at com.ibm.mq.jms.MQTopicConnection.createDurableConnectionBrowser(MQTopicConnection.java:353)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:463)
at com.ibm.mq.jms.MQConnection.createDurableConnectionConsumer(MQConnection.java:3349)
at com.ibm.ejs.jms.JMSTopicConnectionHandle.createDurableConnectionConsumer(JMSTopicConnectionHandle.java:188)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:438)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:586)
at com.ibm.ejs.jms.listener.MDBListenerImpl.start(MDBListenerImpl.java:518)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:482)
at com.ibm.ejs.jms.listener.MsgListenerPort.add(MsgListenerPort.java:152)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.startApplicationMDBs(MDBListenerManagerImpl.java:715)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.stateChanged(MDBListenerManagerImpl.java:686)
at com.ibm.ws.runtime.component.MessageListenerImpl.stateChanged(MessageListenerImpl.java:151)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.stateChanged(ApplicationMgrImpl.java:475)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectEvent(DeployedApplicationImpl.java:791)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.setState(DeployedApplicationImpl.java:157)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.setState(DeployedApplicationImpl.java:153)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:589)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:299)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:256)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:5
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189)
=============================
[2/23/05 14:47:50:344 CST] 32533071 DurableSubscr W WMSG0050E: Exception checking JMS durable subscriptions java.lang.NullPointerException
at com.ibm.ejs.jms.DurableSubscriptionManagerImpl.cleanUpDurableSubscription(DurableSubscriptionManagerImpl.java:322)
at com.ibm.ejs.jms.DurableSubscriptionManagerImpl.checkDurableSubscriptions(DurableSubscriptionManagerImpl.java:124)
at com.ibm.ws.runtime.component.MessageListenerImpl.start(MessageListenerImpl.java:129)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:657)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:5
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189) |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 23, 2005 1:28 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Does that have to do with changing dynamically in JNDI the underlying queue of the MDB while WAS is running ?
MDB are very stable animals. Do not change the setup while WAS is running.
If not it says it right there in the startup: The port you are using for the MDB is already taken. Get yourself a different port for your MDB setup!
 |
|
Back to top |
|
 |
igortech |
Posted: Wed Feb 23, 2005 2:06 pm Post subject: MDB pub/sub ListenerPort problem;subscription already in use |
|
|
Newbie
Joined: 19 Feb 2005 Posts: 4
|
if I could ask you a clarification question as you seem to know what is going on in there ...
Does your suggestion mean recreating the ListenerPort?
How can change the port otherwise?
And where did you see a message suggesting that a port is already taken?
thank you in advance |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 23, 2005 2:57 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
igortech wrote: |
[2/23/05 14:47:57:938 CST] 32533071 ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/Cluster_Sub_Test_Tcf. The exception which was received is javax.jms.JMSException: MQJMS3050: Subscription is already in use and cannot be updated
[2/23/05 14:47:57:969 CST] 3a76b070 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB SubscribingSimMDB , JMSDestination jms/Cluster_Sub_Test_Topic : javax.jms.JMSException: MQJMS3050: Subscription is already in use and cannot be updated
|
Verify that the MDB ListenerPort is unique for each MDB.
Verify that the ID supplied when accessing the Topic is the same as the one that created the subscription.
 |
|
Back to top |
|
 |
bower5932 |
Posted: Wed Feb 23, 2005 3:00 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
There were some nullpointerexceptions that were fixed in various CSDs. What version of the WMQ code are you running (use mqver)? Also, are you using embedded JMS or full WMQ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 23, 2005 3:03 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Coud be as well that he declared multiple instances of the MDB on a queue that's opened in "Exclusive" mode... |
|
Back to top |
|
 |
|