我目前正在与偏好API的工作保存在Vaadin应用程序设置。 该应用程序有3个WebApps的Tomcat服务器上运行。 因为我已经了解到,Tomcat服务器具有在其上运行的每个模块一个ClassLoader,但它是所有在一个虚拟机上运行。
为什么Java偏好正在对多个类加载器可有人给我解释一下? 我找不到这方面的任何来源,我没有通过调试发现任何东西。
非常感谢。
我目前正在与偏好API的工作保存在Vaadin应用程序设置。 该应用程序有3个WebApps的Tomcat服务器上运行。 因为我已经了解到,Tomcat服务器具有在其上运行的每个模块一个ClassLoader,但它是所有在一个虚拟机上运行。
为什么Java偏好正在对多个类加载器可有人给我解释一下? 我找不到这方面的任何来源,我没有通过调试发现任何东西。
非常感谢。
我已经找到了答案:
您可以通过调用得到一个首选项对象:
Preferences prefs = Preferences.userRoot().node("test);
偏好和PreferencesFactory由引导类加载器加载的,所以它是每个模块(同一如何在Apache的ClassLoader的工作 ),并因为对象是在PreferencesFactory创建它不是在Web应用程序环境中创建。