2015-12-01 2 views
0

Я пытаюсь отправить сообщение от Active-MQ в Weblogic. Я создал JMS мост, как показано ниже:Как отправить сообщение JMS из JBOSS Fuse в 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 используя URL назначения я получаю исключение, как показано ниже:

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

Это старый вопрос, но, как упоминал Алан в комментарии, это связано с тем, что для работы с Weblogic необходим драйвер «jms».

В weblogic 11g (10.3.6) вам необходимо взять библиотеку wlthint3client.jar и поместить ее в папку lib внутри ActiveMQ. Это weblogic t3 тонкий клиент, который позволяет подключиться к нему, используя протокол t3.

Смежные вопросы