gpt4 book ai didi

mule - 当通过 HTTP 请求触发时,无法使用 Mule Requester 使用 AMQP 消息

转载 作者:行者123 更新时间:2023-12-04 20:01:39 26 4
gpt4 key购买 nike

我目前有一个使用特定 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 组件,一切都会膨胀。

在此先感谢您对这个问题的任何指点 - 现在已经为此苦苦挣扎了一段时间。

最佳答案

好吧,现在我觉得很傻。这确实可以使用 Mule Requester 来完成。 resource 字段的格式应为:amqp://amqp-queue.{queueName}。一旦我使用队列名称而不是交换,我终于在有效负载中看到了消息。希望这对其他人有帮助! (接受自己的答案似乎有限制;解除后我会接受这个答案)

关于mule - 当通过 HTTP 请求触发时,无法使用 Mule Requester 使用 AMQP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com