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


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

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

  • 消息交换模式,
  • 是否在端点或消息标头中设置 JMSReplyTo
  • 在 JMS 端点上是否设置了下列任何选项: disableReplyTo,preserveMessageQos,explicitQosEnabled

这可能很复杂,可以理解和配置以支持您的用例。

28.9.1. JmsProducer

JmsProducer 的行为如下,具体取决于配置:

Expand
Exchange Pattern其他选项描述

InOut

-

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

InOut

JMSReplyTo 设置

Camel 将期望回复并在发送邮件后,它将开始侦听指定 JMSReplyTo 队列中的回复消息。

仅限

-

Camel 将发送消息 而不是 期望回复。

仅限

JMSReplyTo 设置

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat