2024年Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面以了解更多关于这个功能的信息。

0
java.jmx

通过添加合适类型提示,可以在java.jmx中消除相当数量的反射。

4 个答案

0

评论由 jafingerhut 提出

2012年10月28日的jmx-9-eliminate-reflection-v1.txt消除了java.jmx中的大多数反射警告。

我在应用此修改前建议您仔细检查类型提示,以防我弄错了某些部分。我不熟悉javax.management库的用法。我只是仔细查看Java库文档中代码中使用的所有方法签名的类型。

特别是,我不确定连接应该是指javax.management.MBeanServer还是MBeanServerConnection。对于大多数代码,MBeanServerConnection已经足够好了,但在register-mbean中调用.registerMBean方法时需要是MBeanServer以便避免反射。也许它应该到处都是MBeanServer?我的主要问题是这样做是否会过多限制代码的通用性。

0

评论由 nickmbailey 提出

它不应该到处都是MBeanServer。当使用with-connection宏时,connection是RemoteMBeanServerConnection,'registerMBean'不是一个定义好的方法。

我考虑我们是否可以将register-mbean改为总是获取本地JMX服务器而不是使用connection绑定。您不能在远程JMX服务器上注册MBean。

0

评论由:stu发表

抱歉,我只在完成一个类似(但没那么好)的更改后才发现这个。0.3.3 Maven版本消除了反射警告,推迟了更改register-mbean。后者的更改在我看来似乎没问题,但我试图一次做一件事。

如果这破坏了什么,请告诉我。

0
参考:https://clojure.atlassian.net/browse/JMX-9(jafingerhut报告)
...