只读 JMS 主题订阅?(或在出队时保留 JMS 消息)

  • 本文关键字:JMS 消息 保留 只读 jms activemq
  • 更新时间 :
  • 英文 :


我有一个积压的主题,即生产环境中客户数据的 ActiveMQ 消息,我需要编写一个脚本来将其取消排队并执行任何必要的业务逻辑。

如果业务逻辑出现问题,但我已经阅读了消息(可能通过 JMS(,那可能意味着所有消息都消失了 - 我会遇到巨大的麻烦。

有没有办法在不删除消息的情况下阅读消息?

这是消息传递中的常见模式。 如果您使用的是 JMS API,您有以下几种选择:

  1. 创建会话时使用CLIENT_ACKNOWLEDGE模式,并在业务逻辑完成后确认消息。 如果业务逻辑失败,请不要确认消息,并且不会将其从队列中删除。
  2. 使用事务处理会话。如果业务逻辑成功完成,则提交事务。如果业务失败,则回滚事务。

这两者都很常见,您可以使用自己喜欢的搜索引擎找到有关所有正确 API 调用等的更多信息。

最新更新