WSO2 ESB连接到远程消息代理队列

时间:2014-07-28 15:37:10

标签: wso2 wso2esb

我已设法从wso2 esb向本地消息代理队列发送消息。

但是我在将消息发送到远程队列时遇到问题。我想如果我将服务器包含在JNDI.properties中的物理队列名称中,这将起作用,但事实并非如此。

任何人都有任何建议将配置文件从ESB发送到远程消息代理队列?

干杯 MACCA

更多信息

我得到的错误是: - 错误 - AMQConnection Throwable收到但未设置监听器:org.wso2.andes.client.AMQNoRouteException:错误:没有路由消息[错误代码312:无路由]

我正在使用的文件: -

jndi.properties

connectionfactory.ConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673'

queue.myRemoteQueue = \\ServerName\myQueue

axis2.xml

<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"> 
        <parameter name="default" locked="false"> 
            <parameter name="java.naming.factory.initial"   locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> 
            <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter> 
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter> 
        </parameter> 
</transportSender>

ESB代理服务

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Test2JMS"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATE" value="message is sent to queue"/>
         </log>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
      </inSequence>
      <outSequence/>
      <endpoint>
         <address uri="jms:/myRemoteQueue?&amp;transport.jms.DestinationType=queue"/>
      </endpoint>
   </target>
   <description/>
</proxy>

1 个答案:

答案 0 :(得分:0)

您缺少JMS地址中的一些信息。请参考https://docs.wso2.com/display/ESB481/ESB+as+a+JMS+Producer了解正确的格式。