gpt4 book ai didi

java - 关于新订阅者加入 jms 主题的通知

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:41 24 4
gpt4 key购买 nike

是否有可能在消息生产者端收到新订阅者加入该主题的通知?特别是,JBoss Messaging 是否可以实现?

最佳答案

主题订阅者(消费者)存储在 JBoss 的 TopicSession 实现 (JBMSession) 内的私有(private)字段中。这些类都没有提供对该字段的访问方法,因此如果不进行黑客攻击(反射),我认为无法解决该问题。

但是如果您可以使用反射并且不介意使用它,也许以下策略接近您想要的:

  1. 实现 JBMSessionObserver对于主题 session 。这个类将反射(reflect)私有(private)集消费者,跟踪变化定期(例如每 1 秒或so) 并通知注册的监听者通过发送事件。

  2. 实现 JBMSessionObserverListener, 将它们注册到 JBMSessionObserver 接收更改 Activity 。

您将遇到的下一个问题是,JBMSession 只存储 MessageListener,并且不知道 Listener 的所有者。监听器没有唯一的键或名称。它们只是提供一种处理消息的方法。

因此,您可能能够获取新监听器加入的信息,但您可能无法识别监听器背后的真正消费者。

关于java - 关于新订阅者加入 jms 主题的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1491384/

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