插入MBean拦截器

时间:2012-04-05 13:38:09

标签: java jmx mbeans

我正在一个实现MBean的java项目中工作,我需要拦截MBean并在注册表之前更改/添加它们的属性。示例:

domainName:name = myMBean - > domainName:name = myMBean1,type = myType

我发现this link介绍了如何应用除默认拦截器之外的拦截器,但我不知道如何在代码中执行此操作。

提前致谢。

1 个答案:

答案 0 :(得分:0)

一旦你注册了bean,显然已经太晚了。最简单的方法是更改​​注册的完成方式。如果你向我们展示你用来注册bean的框架,那么我将能够提供更多帮助。

通常情况下,进行实际注册的是:

private MBeanServer mbeanServer;
...
mbeanServer.registerMBean(mbean, objectName);

因此,您可以提供不同的ObjectName

ObjectName objectName = new ObjectName("domainName:name=myMBean1,type=myType");

但我认为你自己没有进行注册。


顺便说一句,我不确定你是否可以切换到使用不同的JMX框架,但我最近对Simple JMX system进行了最后的修改。它允许对象在发布时name themselves programmatically