插入MBean拦截器

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

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

我发现这个链接提供了如何应用拦截器,然后默认拦截器,但我不知道如何在代码中。

提前致谢。

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

通常做实际注册的是做以下事情:

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

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

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

但我假设你自己没有做注册。


顺便说一句,我不确定你是否可以切换到使用不同的JMX框架,但我最近对Simple JMX系统进行了最后的修改。 它允许对象在发布时以编程方式命名自己 。