2015-12-01 137 views
0

我想從Active-MQ發送消息到Weblogic。 我創建JMS橋象下面這樣:如何將JMS消息從JBOSS熔絲髮送到Weblogic JMS

<jmsBridgeConnectors>  
<jmsQueueConnector name="JreportRequestBridge-Inbound" jndiOutboundTemplate="#remoteJndi"outboundQueueConnectionFactoryName="jms/ConnectionFactory" 
    localQueueConnectionFactory="#activemqConnectionFactory">   
      <inboundQueueBridges>   
       <inboundQueueBridge inboundQueueName="RequestQueue"/></inboundQueueBridges>  
      </jmsQueueConnector>  
     </jmsBridgeConnectors> 
<bean id="remoteJndi" class="org.springframework.jndi.JndiTemplate">   
     <property name="environment">     
      <props>       
       <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop> 
       <prop key="java.naming.provider.url">t3://host:port</prop>     
      </props> 
     </property> 
    </bean> 

現在,當我試圖使用目標網址我得到如下例外創建的BrokerService:

java.io.IOException: Transport scheme NOT recognized: [t3] 
    at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:25) 
    at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:171) 
    at org.apache.activemq.transport.TransportFactory.bind(TransportFactory.java:108) 
    at org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:1348) 
    at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:163) 
    at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:153) 
    at test.oas.Server.<init>(Server.java:32) 
    at test.oas.Server.main(Server.java:99) 
Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/t3 
    at org.apache.activemq.util.FactoryFinder.doFindFactoryProperies(FactoryFinder.java:90) 
    at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:58) 
    at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:47) 
    at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:167) 
    ... 6 more 

代碼來創建的BrokerService:

try {    
      //This message broker is embedded    
      BrokerService broker = new BrokerService();    
      broker.setPersistent(false);    
      broker.setUseJmx(false);    
      broker.addConnector(messageBrokerUrl);    
      broker.start();  
      } catch (Exception e) { 

       e.printStackTrace();  
       }  

有人可以幫助我。

+0

你有沒有找到解決這個問題的辦法?我的懷疑是類路徑中缺少一些JAR,但我不確定。謝謝。 –

回答

0

這是一個老問題,但正如Alan在評論中提到的,這是因爲ActiveMQ需要「jms」驅動程序才能夠與Weblogic交談。

在weblogic 11g(10.3.6)中,需要將庫文件wlthint3client.jar放到ActiveMQ中的lib文件夾中。這是weblogic t3瘦客戶機,它允許使用協議連接到它。