2015-12-01 238 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瘦客户机,它允许使用协议连接到它。