繁体   English   中英

抽象或带注释的类改为与MXBean接口

[英]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.

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