gpt4 book ai didi

c# - NACK apache nms 中的消息

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:13 25 4
gpt4 key购买 nike

我正在尝试使用 apache nms stomp 发送/接收消息。我不能使用 Transnational ack 模式,因为使用 hornetq。我的消费场景:

  1. 接收消息
  2. 处理消息
  3. 如果处理成功则确认它(使用 message.Acknowledge())
  4. NACK 如果进程失败 (???)

如果进程失败,我想要的只是 NACK 消息;那么我如何在 apache nms 中 NACK 一条消息呢?

最佳答案

我不知道为什么你不能在 HornetQ 上使用交易。目前让客户端发送 NACK 的唯一方法是使用事务并在出错时回滚事务。一旦达到配置的最大允许重新传送,客户端将拒绝消息。

在大多数实现中,如果您的客户端不确认消息然后断开连接,则消息将重新传送到另一个客户端。在 ActiveMQ 的情况下,您可以配置代理在将消息移入死信队列之前尝试此操作的最大次数。

就目前而言,当从异步消息回调中抛出异常时,NMS.Stomp 实现不会 NACK 消息,但这可能是一个明智的增强,该项目确实接受贡献,因此深入研究。

关于c# - NACK apache nms 中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15926978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com