I have an MDB deployed to JBoss 4.0.0RC1 that consumes messages from a foreign (Tibco
4.1) JMS provider.
The MDB is deployed with a client id specified in the jboss.xml deployment descriptor.
I invoke stopDelivery() and then startDelivery() on the mbean for this MDB.
When I invoke startDelivery() on the mbean I get an exception in the JBoss server.
Here's log output at the DEBUG level showing the stopDelivery() followed by the
startDelivery():
09:31:55,890 DEBUG [SnmpAgentService] It's for me:
javax.management.MBeanServerNotification: notificationType=JMX.mbean.registered
source=JMImplementation:type=MBeanServerDelegate seq-no=490 time=1095687115890
message=null
objectName=jboss.web:name=HttpRequest1,type=RequestProcessor,worker=http-0.0.0.0-8080
userData=null, handback:2147483647
09:32:03,273 DEBUG [SnmpAgentService] It's for me:
javax.management.MBeanServerNotification: notificationType=JMX.mbean.registered
source=JMImplementation:type=MBeanServerDelegate seq-no=491 time=1095687123273
message=null
objectName=jboss.web:name=HttpRequest2,type=RequestProcessor,worker=http-0.0.0.0-8080
userData=null, handback:2147483647
09:32:03,355 DEBUG [JMSContainerInvoker] Stop requested
09:32:03,356 DEBUG [JMSContainerInvoker] unset exception listener
09:32:03,358 DEBUG [JMSContainerInvoker] connection stopped
09:32:03,358 DEBUG [DLQHandler] Stopping DLQHandler
09:32:03,359 DEBUG [DLQHandler] Stopped DLQHandler
09:32:36,042 DEBUG [JMSContainerInvoker] Initializing
09:32:36,090 DEBUG [JMSContainerInvoker] Looking up provider adapter:
java:/TIBCOJMSProvider
09:32:36,091 DEBUG [JMSContainerInvoker] Provider adapter: [EMAIL PROTECTED]
09:32:36,092 DEBUG [DLQHandler] Creating DLQHandler
09:32:36,128 DEBUG [DLQHandler] Using factory:
XAQueueConnectionFactory[URL=tcp://class42:10103;clientID=null]
09:32:36,138 DEBUG [DLQHandler] Created connection: QueueConnection[ClientId=null
Connected=tcp://class42:10103, URL=tcp://class42:10103]
09:32:36,259 DEBUG [DLQHandler] Using Queue: Queue[queue/DLQ]
09:32:36,260 DEBUG [DLQHandler] Created DLQHandler
09:32:36,260 DEBUG [JMSContainerInvoker] context: [EMAIL PROTECTED]
09:32:36,260 DEBUG [JMSContainerInvoker] jndiSuffix: B
09:32:36,260 DEBUG [JMSContainerInvoker] Got destination type Queue for jbossTestMDB
09:32:36,336 DEBUG [ConnectionFactoryHelper] using connection factory:
XAQueueConnectionFactory[URL=tcp://class42:10103;clientID=null]
09:32:36,336 DEBUG [ConnectionFactoryHelper] using username/password: bcohen/
09:32:36,355 DEBUG [ConnectionFactoryHelper] created XAQueueConnection:
XAQueueConnection[ClientId=null Connected=tcp://class42:10103, URL=tcp://class42:10103]
09:32:36,356 DEBUG [JMSContainerInvoker] Using client id: mdb
09:32:36,454 WARN [JMSContainerInvoker] JMS provider failure detected:
javax.jms.InvalidClientIDException: clientID already exists
at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:494)
at com.tibco.tibjms.TibjmsConnection.setClientID(TibjmsConnection.java:1911)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:706)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:767)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.startDelivery(JMSContainerInvoker.java:297)
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:230)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:229)
at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:195)
at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:241)
at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:79)
at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:61)
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:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:146)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:122)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:552
It appears that when I invoke stopDelivery() that JBoss stops (but not closes) the
connection associated with this MDB. The Tibco administrative application confirms
this.
When I invoke startDelivery() JBoss establishes a new connection and with the client
id that I specified in my jboss.xml deployment descriptor. Since the original
connection established with my client id still exists I get the exception.
If I deploy the MDB without the client id in the jboss.xml file I don't get an
exception. However, after every stopDelivery() startDelivery() sequence the Tibco
administrative application shows that JBoss has an additional connection.
Is this the behavior I should be seeing?
Thanks in advance,
Bruce
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3848787#3848787
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3848787
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user