Hello. I am pretty new to JBoss and I have a problem which looks to be JMS related. I have this working enterprise application running using BEA Workshop for WebLogic Platform 10.0, which I am trying to migrate piece by piece to JBoss. Currently I am trying to set up a JMS queue. On the JBoss side I am using/testing one of the provided connection factories (the one specifically called ConnectionFactory) and a queue I have defined in my own -service.xml file that looks like:
<?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=SolrUpdateUs"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> </server>
One the Weblogic side I have set up foreign JNDI provider talking to jnp://localhost:1099 (as specified by JBoss docs) and using org.jnp.interfaces.NamingContextFactory as the initial context factory. I also have the username and password blank (partially as I do not know where I would set those in JBoss). In the application we use a MDB to grab from the queue and do "something." When I tell the MDB to talk to the queue (which is pointed to the proper local JNDI for Weblogic that maps to the foreign JBoss JNDI) and try to test the project within BEA Workshop I get this error:
Unable to deploy EJB: SolrIndexMDB from solr-ejb.jar: Error getting JMSServer member info at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:440) at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107) at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71) Truncated. see log file for complete stacktrace Error getting JMSServer member info NestedException Message is :org.jboss.mq.SpyQueue at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1293) at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1058) at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1322) at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:423) at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107) Truncated. see log file for complete stacktrace
Things to note is I know items are being placed on the queue as I can see them and see appropriate headers through the JBoss jmx-console. Though, I only get this far if I tell the SolrIndexMDB to grab from the previously used Weblogic JMS distributed queue (hope that makes sense).
I've spent about a day and a half looking over this problem, and would appreciate any help anyone could offer as I am not really sure where the problem lies. I am not sure if it is a JBoss config problem or a Weblogic config problem, though I am leaning towards incomplete JBoss config on my part as all that has changed is where the queue is running.