带有 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&rabbitmq.server.port=5672&rabbitmq.server.user.name=guest&rabbitmq.server.password=guest&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>
我使用 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&rabbitmq.server.port=5672&rabbitmq.server.user.name=guest&rabbitmq.server.password=guest&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>