如何检测,如果Java系统属性发生了变化?(How to detect if a Java Syst

2019-09-17 10:36发布

我想,当一个系统属性更改知道。 我有一个应用程序,在应用程序服务器上,以某种方式正在发生变化的系统属性( System.setProperty()我认为)。 我正在看,我发现不同的方法:

  1. JPDA?
  2. 观察者可观察?
  3. 属性改变监听器?
  4. JMX?

有什么建议么? 提前致谢。

Answer 1:

你可以用自己的自定义子类替换系统属性。

MyProperties newProps = new MyProperties(System.getProperties());
System.setProperties(newProps);

然后,只写其挂钩的相关方法属性的子类。



Answer 2:

如果你主要是想找到这个问题,我想看看使用SecurityManager这一点。 它有几个方法可以checkPropertiesAccess()checkPropertyAccess()看起来像他们会帮助你找到问题,但不一定能“当一个系统属性更改通知您。”



文章来源: How to detect if a Java System property has changed?