【发布时间】:2016-07-19 17:55:04
【问题描述】:
我是 WSO2 ESB 的新手,我正在努力解决与动态生成的端点地址 uri 相关的一个问题。
我接着是 tutorial 如何将 RabbitMQ 与 WSO2 集成并创建了以下端点:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Test2">
<address trace="disable" uri="rabbitmq:/Test?rabbitmq.server.host.name=localhost&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json" />
</endpoint>
但是,我想动态注入 rabbitmq.server.host.name 的值,所以我创建了一个 本地条目,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="queue.hostname" xmlns="http://ws.apache.org/ns/synapse"><![CDATA[localhost]]></localEntry>
并将该值注入端点:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Test2">
<property expression="get-property('queue.hostname')" name="queue.hostname" scope="default" type="STRING" />
<address trace="disable" uri="rabbitmq:/Test?rabbitmq.server.host.name={queue.hostname}&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json" />
</endpoint>
在测试过程中,我发现属性 queue.hostname 的值没有正确注入到 URI 中,而 URI 是:
rabbitmq:/Test?rabbitmq.server.host.name={queue.hostname}&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json
代替:
rabbitmq:/Test?rabbitmq.server.host.name=localhost&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json
你知道我做错了什么吗? 我将欣赏任何示例代码。
提前谢谢你!
【问题讨论】:
-
您使用的 ESB 版本是什么?
-
wso2esb-5.0.0-beta,但如果需要,我可以轻松切换到 wso2esb-5.0.0-beta2