首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Artemis JMS管理API

Artemis JMS管理API
EN

Stack Overflow用户
提问于 2020-09-01 15:05:20
回答 1查看 125关注 0票数 0

我目前正在将Spring Boot2.x应用程序从Artemis 5.x迁移到ActiveMQ,但我对Artemis activemq.notificationsactivemq.management有一个问题。

在ActiveMQ 5中,我使用了ActiveMQ.Advisory.Connection主题来查看具有特定clientId的客户端当前是否已连接。连接到这个主题,我首先收到所有当前连接的客户端,然后收到ConnectionInfoRemovedInfo的通知,如果客户端脱机或上线。

不幸的是,Artemis不支持这种行为。侦听activemq.notifications仅提供有关在侦听主题时创建的会话或关闭的会话的信息。

因此,现在我需要在应用程序启动时同步连接的客户端。

我尝试使用JMS management API访问ActiveMQServerControl.listConnectionIDs(),但是org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.getAttribute()方法只允许访问以getis开头的方法。

有没有其他方法可以获得所需的信息(不需要轮询)?

EN

回答 1

Stack Overflow用户

发布于 2020-09-01 17:38:02

您可以使用如下命令执行操作,而不是获取属性

代码语言:javascript
复制
org.apache.activemq.artemis.api.jms.management.JMSManagementHelper.putOperationInvocation(m, ResourceNames.BROKER, "listConnectionIDs");

请注意,这可能不起作用,我只是想给你展示一个例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63682901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档