如何将客户端环境传递给MBean方法调用

时间:2014-01-23 12:51:24

标签: java jmx jconsole mbeans

我们的一个应用程序公开了管理MBean,允许开发人员以各种方式刺激它。这些通常是长时间运行的操作,例如重新处理历史输入,刷新参考数据等。

如果这些操作失败或遇到重大问题,MBean操作将向该组发送一封包含相关信息的电子邮件。

然而,除了调用该操作的人之外,这完全没有上下文。 因此,我希望能够确定是谁点击了该按钮,以便向他们发送电子邮件

我很高兴根据某种用户鉴别器查找电子邮件地址。这是一个开发过程,所以它更多的是关于便利而不是安全 - 例如依赖System.getProperty("user.name")是可以接受的。


MBean操作是否有某种方法可以告诉谁在JConsole中点击按钮来调用它?也许通过让客户端自动传递其系统属性,或者通过向客户端自动填充的方法添加参数?是否有一些我可以在方法中查找的JMX连接的静态/线程本地上下文? (即使是客户端的主机名也是一个很好的鉴别器)?

1 个答案:

答案 0 :(得分:1)

今天JMX中没有可用的客户端上下文,也许它将被添加到JDK 9中。

http://weblogs.java.net/blog/emcmanus/archive/2008/12/client_context_1.html