11

谁能解释一下 Session.AUTO_ACKNOWLEDGE 对 ActiveMQ JMS 配置的影响是什么

session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
4

1 回答 1

9

我相信默认情况下 ActiveMQ 设置为自动确认消息。这只是意味着当消息到达时,它将自动确认消息已到达。这与从 JMS 对象调用 .acknowledge() 相同。

关闭自动确认的一个原因是,如果您构建了一个服务器并假设您正在处理每个 JMS 消息并正在执行某种 DB 事务。如果事务失败,您会希望重新发送 JMS 消息,以便您可以修复错误并再次处理它。因此,从这个意义上说,您只会在处理后才确认 JMS 对象。

于 2012-06-12T10:02:16.623 回答