问题: 有没有什么方法可以“连接”到正在运行的 JVM 并更改系统属性(由 -Dproperty=value 指定)而无需停止 JVM 并且无需编写实现它的方法?
现在,上下文: 我有一个在远程机器上运行的 JBoss 服务器,它托管我的应用程序,还有其他应用程序。那些其他应用程序可能不会停止。使用仅与我的应用程序相关的特定 -D 属性调用服务器。服务器启动时为该属性分配了错误的值。我需要更改该属性。最简单的方法是重新启动 JBoss,但这会导致所有应用程序停止运行一段时间。有没有一种方法可以在不停止除我自己的应用程序之外的任何应用程序的情况下更改该属性?
谢谢!
最佳答案
在我的一个代码中找到的示例:
System.setProperty("javax.net.ssl.trustStore", keystore_file);
您可以运行它来响应“重新配置”查询(将 reconfigure()
添加到您的服务器代码中)。
关于java - 如何在运行时更改 Java 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4469774/