gpt4 book ai didi

java - 一旦客户端确认消息在 JMS 主题上的可用性?

转载 作者:行者123 更新时间:2023-12-04 05:24:18 25 4
gpt4 key购买 nike

我有一个简单的场景,其中发布者(我的 Java 应用程序)发布
关于主题的消息。 50 个客户端订阅了同一个 JMS 主题。一旦在主题上发布消息,将通知所有 50 个订阅者
.假设只有一个订阅者(0ut 0f 50)处理消息并发送确认
处理后。(一旦这个客户端处理完成,我可以看到消息被消费
在 apache MQ 控制台上。否则如果没有客户端在收到确认后发送确认
消息我将消息视为待处理消息)。

现在的问题是一旦任何客户端发送确认和任何
新客户订阅主题,他会收到有关消息的通知吗?或者它以某种方式工作
由任何客户端消费(这在内部意味着任何客户端已发送确认),不会进一步通知
发送给任何新订阅者,消息将从主题中删除(这是我正在经历的行为,但看起来像
根据 http://en.wikipedia.org/wiki/Java_Message_Service 下的发布/订阅模型,它不应该以这种方式工作)?

最佳答案

我没有使用过 Apache MQ。但总的来说:

在发布/订阅模型中,当发布消息时,所有订阅者都将收到该发布。

订阅者的确认仅适用于消息传递提供者而不是发布者。当订阅者确认收到消息时,消息提供者将删除该消息,以便不再传递该消息。

如果在主题上发布消息后有新订阅者加入,则订阅者将不会获得该发布。订阅者将收到有关该主题的任何新出版物。某些供应商(如 IBM WebSphere MQ)具有称为“保留发布”的功能,其中缓存发布的副本。发布后加入的任何新订阅者都将收到此缓存发布。当主题的发布之间存在时间延迟时,保留发布功能很有用,新订阅者将立即获得缓存的发布,而不是等待发布者进行新发布。

关于java - 一旦客户端确认消息在 JMS 主题上的可用性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377092/

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