繁体   English   中英

JMX连接和会话处理

[英]JMX Connection and Session handling

我目前正在建立基于JMX的监视工具。 要监视的系统已经以发布/订阅的方式公开了一些KPI,即自定义编码的监视客户端可以连接到系统,激活和订阅这些KPI,然后系统会在新的KPI值可用时立即通知客户端。 由于对那些KPI的评估可能在计算上很昂贵,因此仅评估那些至少在已订阅客户端上具有的KPI。

我的任务现在是扩展系统,以提供基于JMX和JMX通知的监视服务器,以便任何JMX客户端都可以激活,订阅和接收那些KPI。

我面临的问题是:每个连接的客户端都会更改服务器上的某些状态(即,激活KPI并注册一些侦听器),一旦客户端会话完成或由于连接断开而失败,我需要清除该状态。

关于会话, JMX规范在第13.1章中声明:

会话在客户端(尤其是其侦听器)上具有状态(请参见第208页的第13.4节“添加远程侦听器”)。 会话不一定在服务器上具有状态,而对于本规范定义的两个连接器来说,它没有。

有人知道JMXConnectorServer实现允许维持某些会话状态吗? 实施此类服务器的任何代码示例,教程或指南也将受到高度赞赏。

也许您可以拥有诸如clientId之类的东西,在注册侦听器时,您将clientId作为参数,因此服务器将具有一些客户端信息。

当客户端轻轻关闭时,它可以调用JMX服务器的方法来清除侦听器,或者如果客户端失去连接并且无法轻轻关闭,则可以在客户端上有一个监视线程来注册谁正在侦听和关闭,并在必要时通知JMX服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM