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

欢迎!请在关于页面了解有关如何使用这个网站的更多信息。

0
java.jmx

在当前的java.jmx代码中,当与-with-connection宏一起使用时,无法显式设置连接超时。此选项非常有用,尤其是在客户端试图连接不可靠的jmx主机或在客户端不知道jmx是否启用的地方时。

http://weblogs.java.net/blog/emcmanus/archive/2007/05/making_a_jmx_co.html可以用作起点。

2 个回答

0

评论由:nickmbailey发表

所以一个方法是,您可以通过覆盖默认的rmi socket工厂来设置jmx连接的socket超时。参见

http://stackoverflow.com/a/1822760/940653

这个解决方案并不完美。首先,它覆盖了任何rmi操作的默认工厂,而不仅仅是jmx。此外,它仅在jmx实际上回退到默认工厂时才会正常工作。例如,如果您启用通过SSL进行jmx,则将不使用默认工厂,此解决方案将不起作用。但是,您可以不告诉jmx使用SSL,而是覆盖默认的socket工厂以返回ssl套接字。但同样,这将适用于那一刻的rmi操作。

您提到的帖子中的解决方案很有趣。我有点认为向jmx库添加自定义线程工厂和执行服务有点过于强硬。我可能更愿意为readme/wik添加一些文档,详细说明问题和上述可能的解决方案,以便用户可以找到它们。

对这个方案有什么看法吗?

0
参考:https://clojure.atlassian.net/browse/JMX-5 (由 alex+import 报告)
...