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

欢迎!请参阅关于页面以了解更多关于这个如何工作的信息。

0 投票
java.jmx

通过添加合适的类型提示,可以消除Java.jmx中的相当一部分反射。

4 个答案

0 投票

评论者:jafingerhut

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

我建议在应用之前仔细检查类型提示,以防我弄错了某些提示。我对javax.management库的使用不熟悉。我只是简单地在Java库文档中查找了代码中所使用的函数签名。

特别是,我不确定“connection”应该是javax.management.MBeanServer还是MBeanServerConnection。对于大部分代码,MBeanServerConnection已经足够好了,但在register-mbean中的registerMBean调用中,需要是MBeanServer以避免反射。也许它应该在所有地方都是MBeanServer?我的主要问题是这会否过度限制代码的通用性。

0 投票

评论者:nickmbailey

其实并不需要在所有地方都是MBeanServer。当使用with-connection宏时,“connection”是RemoteMBeanServerConnection,'registerMBean'并未是定义了的方法。

我想我们可能只需要将register-mbean改为总使用本地JMX服务器而不是使用“connection”绑定。你不能使用远程jmx服务器注册mbeans。

0 投票

评论者:stu

对不起,我只是在完成了一个类似的(且较劣)更改后看到了这个。0.3.3 Maven 版本消除了反射警告并跳过更改 register-mbean。后者的更改似乎对我不错,但我正试图一次做一件事。

如果这个破坏了什么,请告知。

0 投票
参考:[jump](https://clojure.atlassian.net/browse/JMX-9 "由 jafingerhut 提出")
...