0

我遇到了 Mule ESB 中的 AMQP 连接器的问题。当我在流中发送由 AMQP 入站端点发起的请求-响应消息时。当我确认该消息时,我收到有关缺少入站属性“delivery-key”的错误。

我已经尝试设置和出站属性,并通过 VM 端点将其发送到另一个流,在那里它变成了入站属性。然而这并没有奏效。

我正在使用 RabbitMQ。

4

1 回答 1

1

AMQP 消息确认需要通道和传递密钥。因为通道不可序列化,所以它存储在流变量(调用范围的消息属性)中,以防止在消息处理的某个点(例如,使用持久化 VM 队列时)出现序列化问题。

对于您使用的连接器版本,传递密钥仅存储在入站邮件属性中。正如此票证中所解释的,当您在流中使用出站端点时,入站消息属性将被清除(就像您对https:outbound-endpoint.

你有两个选择:

  • 构建AMQP 传输的 mule-3.3.x 分支以获取补救(存储在流变量中的交付密钥),
  • 使用 amessage-enricher来包装您的 SOAP 调用,以便将其与主流程隔离,这样就不会对入站属性造成严重破坏,
于 2013-07-25T21:14:10.530 回答