25.9. 关于使用 Camel 发送和接收消息及 JMSReplyTo


JMS 组件比较复杂,您必须密切关注它在某些情形中的工作方式。这是一些要查找的区域/pitfall 的简短概述。

当 Camel 使用其 JMSProducer 发送消息时,它会检查以下条件:

  • 消息交换模式,
  • 是否在端点或消息标头中设置 JMSReplyTo
  • 无论 JMS 端点上是否已设置了以下选项: disableReplyTo、keepMessageQosexplicitQosEnabled

所有这一切都很复杂,了解并配置 以支持您的用例。

25.9.1. JmsProducer

根据配置,JmsProducer 的行为如下:

Exchange Pattern其他选项描述

InOut

-

Camel 将预期一个回复,设置临时 JMSReplyTo,并在发送邮件后,它将开始侦听临时队列上的回复消息。

InOut

设置 JMSReplyTo

Camel 将预期回复,在发送消息后,它将开始侦听指定的 JMSReplyTo 队列上的回复消息。

InOnly

-

Camel 将发送消息 且没有 期望回复。

InOnly

设置 JMSReplyTo

默认情况下,Camel 会丢弃 JMSReplyTo 目的地,并在发送消息前清除 JMSReplyTo 标头。然后,Camel 会向这个消息发送 且不会预期回复。Camel 在 WARN 级别(从 Camel 2.6 变为 DEBUG 级别)的日志中记录此项。您可以使用 preserveMessageQuo=true 来指示 Camel 保持 JMSReplyTo。在所有情况下,JmsProducer 并不 预期任何回复,因此在发送消息后继续。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.