第 20 章 配置预确认


JMS 指定三种确认模式:

  • AUTO_ACKNOWLEDGE
  • CLIENT_ACKNOWLEDGE
  • DUPS_OK_ACKNOWLEDGE

在某些情况下,您可以在失败时丢失消息,因此在将消息发送到客户端之前确认服务器上的消息会有意义。JBoss EAP 消息支持这种额外模式,称为预确认模式。

在传输前在服务器上预确认的缺点是,如果服务器的系统在确认消息后崩溃,但在将消息传送到客户端之前,该消息将会丢失。在这种情况下,消息将丢失,系统重启时将不会恢复。

根据您的消息传递情况,预先确认模式可以避免额外的网络流量和 CPU 使用量,代价是处理消息丢失。

预认证的一个用例是股价更新消息。通过这些消息,在崩溃时丢失消息可能是合理的,因为下一个价格更新消息将很快到达,从而覆盖了先前的价格。

注意

如果您使用预确认模式,您将丢失被使用消息的事务语义,因为它们是首先在服务器上被确认,而不是在您提交事务时确认。

20.1. 配置服务器

可以使用管理 CLI 将预确认 属性设置为 true,从而将连接工厂配置为使用预 确认模式:

/subsystem=messaging-activemq/server=default/connection-factory=RemoteConnectionFactory:write-attribute(name=pre-acknowledge,value=true)
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat