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

欢迎!请查看关于页面以获取更多关于如何使用此信息的信息。

0
java.jmx

通过添加合适类型提示,可以消除java.jmx中大量反射的发生。

4 个答案

0

评论由:jafingerhut发表

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

我在应用此代码之前会仔细检查类型提示,以防我弄错了某些提示。我对javax.management库的使用不熟悉。我只是大量查看Java库文档中代码中使用的函数签名。

特别是,我不确定connection是否应该是javax.management.MBeanServer还是MBeanServerConnection。MBeanServerConnection对于大多数代码来说足够好,但是在register-mbean中的.registerMBean方法调用时,它需要是MBeanServer来避免反射。也许它应该在整个地方都是MBeanServer呢?我的主要问题是这样做是否会太过限制代码的通用性。

0

评论由:nickmbailey发表

不应将所有的connection都设置为MBeanServer。当使用with-connection宏时,connection是RemoteMBeanServerConnection,而'registerMBean'不是一个定义好的方法。

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

0

评论人:stu

抱歉,我在完成一个类似(且更差)的更改之后才看到这个。0.3.3 Maven 发布版本消除了反射警告,并推迟更改 register-mbean。(后者更改看起来对我来说没问题,但我在尝试一次做一件事)。

如果这个问题导致任何破坏,请告诉我。

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