Question

Im trying to create a jms bridge from WildFly 8 to openmq. Every example i tried did not work. Can someone help me. I never have created a jms bridge before.

The jms-bridge entry in my standalone-full.xml

            <source>

                <connection-factory name="jms/ConnectionFactory"/>

                <destination name="jms/TestQueue"/>

                <context>

                    <property key="java.naming.factory.initial" value="com.sun.enterprise.naming.SerialInitContextFactory"/>

                    <property key="java.naming.provider.url" value="mq://localhost:7676"/>

                </context>

            </source>

            <target>

                <connection-factory name="jmsConnectionFactory"/>

                <destination name="/"jms/TestQueue"/>

            </target>

            <quality-of-service>AT_MOST_ONCE</quality-of-service>

            <failure-retry-interval>500</failure-retry-interval>

            <max-retries>1</max-retries>

            <max-batch-size>500</max-batch-size>

            <max-batch-time>500</max-batch-time>

            <add-messageID-in-header>true</add-messageID-in-header>

        </jms-bridge>

I created a module from imqjmsra.rar.

The module.xml

<resource-root path="fscontext.jar"/>

<resource-root path="imqbroker.jar"/>

<resource-root path="imqjmsbridge.jar"/>

<resource-root path="imqjmsra.jar"/>

<resource-root path="imqjmx.jar"/>

<resource-root path="imqstomp.jar"/>

    <!-- add the dependencies required by JMS Bridge code                -->

   <module name="javax.api" />

   <module name="javax.jms.api" />

   <module name="javax.transaction.api"/>

   <module name="javax.resource.api"/>

The error that i get is

2014-04-04 14:36:04,846 WARN [org.hornetq.jms.server] (pool-3-thread-1) HQ122010: Failed to connect JMS Bridge: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.enterprise.naming.SerialInitContextFactory from classloader ModuleClassLoader for Module "org.glassfish:main" from local module loader @6b573f80 (finder: local module finder @2d0a238e (roots: C:\Installs\JBoss\wildfly-8.0.0.Final\modules,C:\Installs\JBoss\wildfly-8.0.0.Final\modules\system\layers\base)) [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory from [Module "org.glassfish:main" from local module loader @6b573f80 (finder: local module finder @2d0a238e (roots: C:\Installs\JBoss\wildfly-8.0.0.Final\modules,C:\Installs\JBoss\wildfly-8.0.0.Final\modules\system\layers\base))]]

at org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:116)

at org.jboss.as.naming.InitialContext.init(InitialContext.java:99)

at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:153) [rt.jar:1.7.0_45]

at org.jboss.as.naming.InitialContext.<init>(InitialContext.java:90)

at org.jboss.as.naming.InitialContextFactory.getInitialContext(InitialContextFactory.java:44)

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) [rt.jar:1.7.0_45]

at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) [rt.jar:1.7.0_45]

at javax.naming.InitialContext.init(InitialContext.java:242) [rt.jar:1.7.0_45]

at javax.naming.InitialContext.<init>(InitialContext.java:216) [rt.jar:1.7.0_45]

at org.hornetq.jms.bridge.impl.JNDIFactorySupport.createObject(JNDIFactorySupport.java:53)

at org.hornetq.jms.bridge.impl.JNDIDestinationFactory.createDestination(JNDIDestinationFactory.java:38)

at org.hornetq.jms.bridge.impl.JMSBridgeImpl.setupJMSObjects(JMSBridgeImpl.java:1217)

at org.hornetq.jms.bridge.impl.JMSBridgeImpl.setupJMSObjectsWithRetry(JMSBridgeImpl.java:1457)

at org.hornetq.jms.bridge.impl.JMSBridgeImpl.access$2000(JMSBridgeImpl.java:76)

at org.hornetq.jms.bridge.impl.JMSBridgeImpl$FailureHandler.run(JMSBridgeImpl.java:2046)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]

at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Was it helpful?

Solution

I figured it out. I needed to change module.xml file to

<module xmlns="urn:jboss:module:1.0" name="org.glassfish">  
  <resources>  
    <resource-root path="glassfish-embedded-all-3.1.1.jar"/>
  </resources>  
  <dependencies>  
    <system export="true">
  <paths>
     <path name="sun/corba"/>       
  </paths>
    </system>
    <module name="javax.api" />
    <module name="javax.jms.api" />
    <module name="javax.transaction.api"/>
    <module name="javax.resource.api"/>
    <module name="javax.rmi.api"/>      
 </dependencies>  
</module>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top