java - 允许在立即启用 JMX 监控的情况下重新启动 Java 应用程序

标签 java jmx restart shutdown reusability

我有一个启用了 JMX 监控的 Java 应用程序,如下所示:

-Dcom.sun.management.jmxremote.port=9999 \
// some other properties omitted

但是当我尝试重新启动应用程序时,有时会收到一条错误消息,提示 JMX 端口号已被使用。这是 Not Acceptable 。

因此我想将底层套接字的 SO_REUSEADDR 设置为 true 以避免此错误,但没有发现相关的 JMX 属性。

有什么想法吗?

最佳答案

恐怕您不能从命令行执行此操作。

您需要创建一个 RMIServerSocketFactory,它会生成具有所需选项 (SO_REUSEADDR) 的 ServerSockets

此处的文档:http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/socketfactory/

其他人解决了同样的问题: https://svn.apache.org/viewvc?view=revision&revision=r1596579

关于java - 允许在立即启用 JMX 监控的情况下重新启动 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531558/

相关文章:

go - 进入并运行,玩得不太好

java - 我想通过java从主机和jmx端口获取指标

java - 通过 Id 获取线程

java - 无法使用 VisualVM 连接到远程 JMX,但可以使用 JConsole

batch-file - 批处理文件:暂停后重启?

R CTRL+SHIFT+F10 从命令行使用

java - 如何使用jpcap捕获数据包?

java - Android java 追加 n 个字符到字符串

java - 尝试调用从另一个类调用另一个方法的方法时出现 StackOverflowError

java - Java中静态字符串常量所需的内存空间?