带有 Rabbit MQ 的 WSO2 - 警告:EPR 为 NULL。传输配置可能不正确

WSO2 with Rabbit MQ - WARNING: EPRs are NULL. Transport configuration may be incorrect

我使用 RabbitMQ 创建了一个代理,并且在仪表板屏幕上的 enpoint 区域显示: 警告:EPR 为空。传输配置可能不正确

这是我的配置:

    <?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="RabbitMqProxy"
       transports="rabbitmq"
       statistics="enable"
       trace="enable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
      </inSequence>
      <endpoint>
         <address uri="rabbitmq:/RabbitMqProxy?rabbitmq.server.host.name=199.53.215.101&amp;rabbitmq.server.port=5672&amp;rabbitmq.server.user.name=guest&amp;rabbitmq.server.password=guest&amp;rabbitmq.queue.name=intraday.oms.message;rabbitmq.exchange.name=test-topic"/>
      </endpoint>
   </target>
   <parameter name="rabbitmq.queue.name">intraday.oms.message</parameter>
   <parameter name="rabbitmq.server.virtual.host">/carbon</parameter>
   <parameter name="rabbitmq.connection.factory">AMQPConnectionFactory</parameter>
   <parameter name="rabbitmq.exchange.name">test-topic</parameter>
   <description/>
</proxy>

我不知道出了什么问题,但是当我按照 windows 示例进行操作时,我无法在订阅者端收到任何消息,也许这就是问题所在。

对于RabbitMQ消费者rabbitmq.server.virtual.host不是proxy的参数,而是Connection Factory的参数。

因此,您应该在 axis2.xml 中创建额外的连接工厂:

<transportReceiver name="rabbitmq" class="org.apache.axis2.transport.rabbitmq.RabbitMQListener"‌​>
    <parameter name="AMQPConnectionFactory" locked="false">
        <parameter name="rabbitmq.server.host.name" locked="false">199.53.215.101</parameter>
        <parameter name="rabbitmq.server.port" locked="false">5672</parameter>
        <parameter name="rabbitmq.server.user.name" locked="false">guest</parameter>
        <parameter name="rabbitmq.server.password" locked="false">guest</parameter>
    </parameter> 
    <parameter name="AMQPConnectionFactoryCarbon" locked="false">
        <parameter name="rabbitmq.server.host.name" locked="false">199.53.215.101</parameter>
        <parameter name="rabbitmq.server.port" locked="false">5672</parameter>
        <parameter name="rabbitmq.server.virtual.host">/carbon</parameter>
        <parameter name="rabbitmq.server.user.name" locked="false">guest</parameter>
        <parameter name="rabbitmq.server.password" locked="false">guest</parameter>
    </parameter>
</transportReceiver>

并将代理的参数列表更改为以下内容:

<parameter name="rabbitmq.queue.name">intraday.oms.message</parameter>
<parameter name="rabbitmq.connection.factory">AMQPConnectionFactoryCarbon</parameter>
<parameter name="rabbitmq.exchange.name">test-topic</parameter>