2014-04-05 5 views
0

WildFly 8에서 openmq로 jms 브리지를 만들려고합니다. 시도한 모든 예가 효과가 없었습니다. 누군가 나를 도울 수 있습니까? 전에는 jms 브릿지를 만들지 않았습니다.wildfly8에서 jms bridge를 생성하는 데 문제가 있습니다.

내 독립-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> 

의 JMS 브리지 항목은 내가 imqjmsra.rar에서 모듈을 만들었습니다.

을 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"/> 

I는 얻을 오류

2014년 4월 4일 14 : 36 : 04,846이 [org.hornetq.jms.server (풀 -3- 스레드 1) HQ122010 WARN :에 실패한 javax.naming.NamingException : JBAS011843 : 로컬 모듈 로더 @ 6b573f80 (파인더 : 로컬 모듈 찾기 @ 2d0a238e)에서 모듈 "org.glassfish : main"에 대한 클래스 로더 ModuleClassLoader에서 InitialContextFactory com.sun.enterprise.naming.SerialInitContextFactory를 인스턴스화하지 못했습니다. (루트 : C : \ Installs \ JBoss \ wildfly-8.0.0.Final \ modules, C : \ Installs \ JBoss \ wildfly-8.0.0.Final \ modules \ system \ layers \ base)) [루트 예외는 java입니다. lang.ClassNotFoundException : com.sun.enterprise.naming.SerialInitContextFactory의 [Module "org.glassfish : main"from 로컬 모듈 loader @ C : \ Installs \ JBoss \ wildfly-8.0.0.Final \ modules, C : \ Installs \ JBoss \ wildfly-8.0.0.Final \ modules \ system \ layers \ 6b573f80 (파인더 : 로컬 모듈 찾기 @ 2d0a238e (뿌리 : 기지))]]]

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] 

답변

1

나는 그것을 이해했다. module.xml 파일을

으로 변경해야했습니다.
<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> 
관련 문제