6/4/09 20:06:43:933 IST] 00000061 MDBListenerIm W WMSG0019E: Unable to start MDB Listener SampleTopicMDB, JMSDestination jms/SampleExternalTopic : javax.jms.IllegalStateException: CWSIA0025E: The method setExceptionListener is not permitted in this container.
at com.ibm.ws.sib.api.jms.impl.JmsConnectionImpl.setExceptionListener(JmsConnectionImpl.java:530)
at com.ibm.ejs.jms.JMSManagedConnection. (JMSManagedConnection.java:324)
at com.ibm.ejs.jms.JMSManagedTopicConnection.(JMSManagedTopicConnection.java:73)
at com.ibm.ejs.jms.GenericJMSManagedTopicConnectionFactory.createManagedConnection(GenericJMSManagedTopicConnectionFactory.java:91)
at com.ibm.ejs.jms.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:627)
at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1895)
at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1570)
at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2338)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:910)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:600)
at com.ibm.ejs.jms.JMSTopicConnectionFactoryHandle.createTopicConnection(JMSTopicConnectionFactoryHandle.java:84)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:424)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:728)
at com.ibm.ejs.jms.listener.MDBListenerImpl.start(MDBListenerImpl.java:651)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:634)
at com.ibm.ejs.jms.listener.MsgListenerPort.start(MsgListenerPort.java:312)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1092)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:973)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1082)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:975)
at com.ibm.ws.console.servermanagement.messagelistener.ListenerPortCollectionAction.execute(ListenerPortCollectionAction.java:320)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:321)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1070)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:273)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:319)
at com.ibm.isclite.container.controller.InformationController.processForwardConfig(InformationController.java:206)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistence(WSCUrlFilter.java:792)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:363)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:229)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3444)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:815)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
[6/4/09 20:06:43:965 IST] 00000061 MDBListenerIm I WMSG0043I: MDB Listener SampleExternalListener stopped for JMSDestination jms/SampleExternalTopic
[6/4/09 20:06:43:965 IST] 00000061 MDBListenerIm I WMSG0058I: Listener Port SampleExternalListener will attempt to restart in 60 seconds
[6/4/09 20:06:43:980 IST] 00000061 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl open FFDC0009I: FFDC opened incident stream file D:\Program Files\IBM\WID62\pf\wps\logs\ffdc\server1_00000061_09.06.04_20.06.43_4.txt
[6/4/09 20:06:43:996 IST] 00000061 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream file D:\Program Files\IBM\WID62\pf\wps\logs\ffdc\server1_00000061_09.06.04_20.06.43_4.txt
[6/4/09 20:06:43:996 IST] 00000061 MsgListenerPo W WMSG0049E: Failed to start MDB SampleTopicMDB against listener port SampleExternalListener
[6/4/09 20:06:45:527 IST] 00000062 ServletWrappe I SRVE0242I: [isclite] [/ibm/console] [/secure/javascriptToSession.jsp]: Initialization successful.
Please help me.
You shouldn't be using listener ports with the default messaging provider, use activation specs instead. Depending on your version of WAS there are limitations on exactly where your activation spec can be related to your SIBus.
Cheers, Matt.
Thanks and Regards,
Balaji N
If you are using WAS version 7 you can create an activation spec for a 'remote' instance of the default messaging provider. For 6.0 and 6.1 you will need this APAR applied first: http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PK77768.
One this is done you create an default messaging provider activation spec in the server on which your MDB is installed and set the provider endpoint property to point to the app server hosting your messaging engine. Then it should work. You shouldn't need to create a generic messaging provider in the way you are currently.
Cheers, Matt.
Following are the brief steps I did.
1. MDB is deployed in Server A (MDB Server)
2. Topic and Topic CF are created in Server B (Message Server)
3. Created a foreign Bus in MDB Server and linked it to the SIB in Message Server
4. Created a foreign Bus in Message Server and linked it back to SIB in MDB Server
5. Created a Topic, Topic AS in MDB Server – These act as proxies
6. Mapped the Topic Space in the created link (So that the topic created in MDB Server and Message Server can exchange messages)
7. Configured MDB to Activation Spec and Topic in MDB Server.
8. Pushed a message in Message Server and the MDB deployed in MDB Server could receive it.
This is through InboundBasicMessaging and BootstrapBasicMessaging. I am now working to add security to the entire setup. I know these steps are very brief, i will blog the entire details and update the link here ASAP.
Thanks a lot Matt for your help.