gpt4 book ai didi

java - 抽象或带注释的类而不是接口(interface)作为 MXBean

转载 作者:行者123 更新时间:2023-12-01 15:19:38 31 4
gpt4 key购买 nike

有没有办法使用抽象或带注释的类作为 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 article 相关。他们有什么进步?我现在可以安全地使用带注释的 MBean 吗?

最佳答案

我最终要做的是编写一个放置在方法或属性上的自定义注释。然后,我实现了DynamicMBean interface以这样的方式解析出相关类的注释,然后将它们注册到 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 的实现注册此类的实例。并解析出注释。

关于java - 抽象或带注释的类而不是接口(interface)作为 MXBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136833/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com