java - 如何在运行时更改 Java 属性?

标签 java jboss properties runtime

问题: 有没有什么方法可以“连接”到正在运行的 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/

相关文章:

C# getters setters 样式

Java JTextArea 动态列和行编号

java - Wildfly SSO 注销不工作 - session 仍然有效

Hibernate 类型和 JBoss 兼容性问题

java - Apache Commons Email 和 JBOSS SSL - 发送电子邮件失败并出现 SunCertPathBuilderException

reflection - 为什么反射不在Struct中设置属性?

java - 在文件中存储具有相同键的多个数据并从 shell 脚本获取值?

java - AutoCloseable.close()方法是否违反了Java的向后兼容性规则

java - Dozer 枚举到枚举映射

Java 枚举序列和切换功能