[英]Abstract or annotated class instead interface as MXBean
有没有一种方法可以将抽象类或带注释的类用作MXBean描述符? 我有这样的界面:
@MXBean
public interface Peer {
public String getName();
}
并希望将MXBean与更多的仅本地方法结合在类中,例如:
public class PeerCombinedMXBean {
// Expose this as MXBean attribute
public String getName() { ... }
// This method is local-instance-oriented
public boolean isValid() { ... }
}
我需要像上面这样的模型来避免链接代理对象,而要使用复杂的半近似实例,例如:
PeerCombinedMXBean peer = JMX.newMXBeanProxy(connection, name, PeerCombinedMXBean.class);
if (peer.isValid()) System.out.println(peer.getName());
这个问题与java.net文章有关 。 他们进展如何? 我现在可以安全地使用带有注释的MBean吗?
我最终要做的是编写一个放置在方法或属性上的自定义注释。 然后,我以这样一种方式实现了DynamicMBean接口 :它解析出有关类的注释,然后将其注册到PlatformMBeanServer。 据我所知,没有可用的公共实现,在我自己做这个主题之前,我还广泛搜索了这个主题。
例如,这是我希望通过JConsole管理的类:
public class Foo
{
// In JMX Console
@Managed
private boolean isBar;
// Not in JMX Console
private boolean isFoo;
// In JMX Console
@Managed
public String getClassName()
{
return Foo.class.getName();
}
}
然后,当我的应用程序启动时,我使用我的DynamicMBean实现注册该类的实例并解析出注释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.