[英]How to send a JMS message from JBOSS Fuse to Weblogic JMS
我正在嘗試從Active-MQ向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();
}
有人可以幫幫我嗎。
這是一個古老的問題,但是正如Alan在評論中提到的那樣,這是因為ActiveMQ需要“ jms”驅動程序才能與Weblogic進行對話。
在weblogic 11g(10.3.6)中,您需要使用庫wlthint3client.jar
並將其放在ActiveMQ的lib文件夾中。 這是weblogic t3瘦客戶端 ,它允許使用t3協議與其連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.