0

我目前正在使用 Preferences API 将设置保存在 Vaadin 应用程序中。该应用程序在 Tomcat 服务器上运行了 3 个 WebApp。据我所知,Tomcat 服务器上运行的每个模块都有一个 ClassLoader,但它都在一个虚拟机中运行。

任何人都可以向我解释为什么 Java Preferences 在多个 ClassLoader 上工作吗?我找不到任何来源,也没有通过调试找到任何东西。

十分感谢。

4

1 回答 1

0

我找到了答案:

您可以通过调用获得一个 Preferences 对象:

Preferences prefs = Preferences.userRoot().node("test);

Preferences 和 PreferencesFactory 由 Bootstrap ClassLoader 加载,因此对于每个模块都是相同的(ClassLoader 在 Apache 中的工作方式),并且因为对象是在 PreferencesFactory 中创建的,所以它不是在 WebApp 上下文中创建的。

于 2013-07-25T06:30:07.553 回答