6

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

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

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

4

2 回答 2

8

您可以将系统属性替换为您自己的自定义子类。

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

然后,只需编写一个挂钩相关方法的 Properties 子类。

于 2012-05-22T21:56:54.970 回答
1

如果您主要想找到问题,我会考虑使用SecurityManager这个。它有几种可用的方法checkPropertiesAccess()checkPropertyAccess()看起来它们可以帮助您找到问题,但不一定能够“在系统属性发生更改时通知您”。

于 2012-05-22T21:57:58.153 回答