我目前有一个使用特定HTTP请求路径触发的流,然后该路径应该向本地托管的RabbitMQ服务器发出请求。但是,我似乎无法看到Mule Requester模块的输出;我看到了HTTP请求。以下是我目前流程的要点:
<flow name="get-queue-messages-manually" doc:name="get-queue-messages-manually" initialState="started">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="getqueue" contentType="text/plain" doc:name="HTTP"/>
<mulerequester:request returnClass="java.io.String" config-ref="Mule_Requester" resource="amqp://myexchange" doc:name="Mule Requester"/>
<logger level="INFO" doc:name="Logger"/>
<echo-component doc:name="Echo"/>
</flow>
我能够向交易所发送消息并让它们排队没有问题,但我似乎无法提取任何消息。据我了解,Mule Requester模块允许人们在流程中的任何一点请求资源;我相信我也读到它导致异步操作,这可能是这里的问题。在这种情况下,我如何能够检索排队的消息,而不是HTTP请求?
我也查看了Mulesoft AMQP文档,虽然URI规范提到了格式amdq:// {exchange} / amqp-queue。{queue},但似乎Mule Requester不接受这个,因为它似乎只采取交换名称。控制台日志确实包含一行,表明已创建专用队列,并且从一点点搜索,是否表明未指定队列名称?但是,不太确定如何在这个组件中完成。
请注意,我首先拥有HTTP请求元素的原因是我不希望在收到消息时关闭流,因此HTTP组件用于确保仅在请求时读取消息。如果没有HTTP组件,一切都会膨胀。
提前感谢有关此问题的任何指示 - 现在已经挣扎了一段时间。
答案 0 :(得分:4)