Configuring a non-JBoss JMS Provider (Weblogic) in JBoss?
jferraro1 Aug 1, 2008 12:22 PMI am trying to configure access to a non-JBoss remote JMS Provider that I have to consume from JBoss. The JMS Provider is Weblogic and I am trying to subscribe to a JMS topic. On the JBoss side, I am using an EJB3 - MDB as the subscriber to the remote Weblogic topic. I am having difficulty configuring the Weblogic JMS Provider in JBoss. The JBoss configuration manual 7.4.3 Integrating non-JBoss JMS Providers is not very clear. I think my problem is around the QueueFactoryRef definition as I am trying to subscribe to a topic. I have tried to follow the Websphere JMS Provider example to some extent but that does not seem to work. I get the following error message (below) at JBoss startup. Under the error message are my configuration scripts. Anyone have any ideas?
Console Error Message ------------------------------- adapter.jms.inflow.JmsActivationSpec@a50a00(ra=org.jboss.resource.adapter.jms.Jm sResourceAdapter@1fc7299 destination=foresight/ForeSightJMSTextReportsTopic isTo pic=true tx=true durable=false reconnect=10 provider=java:/ForeSightJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiNam e=queue/DLQ DLQUser=null DLQMaxResent=5) java.lang.ClassCastException: Object at 'foresight' in context {java.naming.fact ory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkg s=org.jboss.naming:org.jnp.interfaces:org.jboss.naming:org.jnp.interfaces} is no t an instance of [class=javax.jms.QueueConnectionFactory classloader=org.jboss.m x.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} interfaces={inter face=javax.jms.ConnectionFactory classloader=org.jboss.mx.loading.UnifiedClassLo ader3@11ff436{ url=null ,addedOrder=2}}] object class is [class=$Proxy13 classlo ader=org.jboss.mx.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} i nterfaces={interface=javax.naming.Context classloader=null}] at org.jboss.util.naming.Util.checkObject(Util.java:329) at org.jboss.util.naming.Util.lookup(Util.java:216) Configuration Scripts (Running jboss-4.2.2.GA) ------------------------------------------------- jboss-service.xml ------------------------ <mbean code="org.jboss.naming.ExternalContext" name="DefaultDomain:service=ExternalContext,jndiName=foresight"> <attribute name="JndiName">foresight</attribute> <attribute name="Properties"> java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory java.naming.provider.url=t3://foresight-prod.co.ihc.com:7001 java.naming.security.authentication=none </attribute> <attribute name="InitialContext">javax.naming.InitialContext</attribute> </mbean> jms-ds.xml ------------------------ <connection-factories> <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.mq:service=JMSProviderLoader,name=ForeSightJMSProvider"> <attribute name="ProviderName">ForeSightJMSProvider</attribute> <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute> <attribute name="QueueFactoryRef">foresight</attribute> <attribute name="TopicFactoryRef">foresight</attribute> </mbean> <no-tx-connection-factory> <jndi-name>ForeSightJms</jndi-name> <rar-name>jms-ra.rar</rar-name> <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/ForeSightJMSProvider</config-property> <max-pool-size>20</max-pool-size> </no-tx-connection-factory> </connection-factories>