Glassfish自动修复prefs.xml(java.utils.prefs.Preference)

时间:2013-05-05 21:13:51

标签: java glassfish-3

在我当前的应用程序中,我们使用Glassfish来部署我的ear文件,我们从不同的地方读取用户特定的值,并将其存储到java.util.prefs.Preference中,以便用户使用它。我们还可以选择在外部更改java.util.prefs.Preference。现在的问题是:

a)最近我发现,每当我在Glassfish中启动应用程序时,Glassfish都会创建一个 prefs.xml 文件,其中包含我在 /。java / .userPrefs / <下设置的所有首选项/ strong>即可。但是我没有编写代码来存储相同的位置。那么,Glassfish的默认行为是将偏好存储在这个位置吗?或者有任何设置吗?

b)现在,如果答案是肯定的问题a。然后我改变了 prefs.xml 中的prefernce值,但之后如果我从java.util.Preference中获取值,我得到的旧值只是新值。为什么java没有刷新值?或prefs.xml仅用于导入/导出偏好?

c)每当我在外部更改我的偏好值时,它都不会刷新 prefs.xml 中的值。这是服务器重启的一次性过程吗?

任何有关任务的帮助对我都非常有帮助。

1 个答案:

答案 0 :(得分:1)

A)最近我发现,每当我开始我的GlassFish应用,Glassfish的创建包含所有我/.java/.userPrefs/下的偏好设置的prefs.xml文件。但是我没有编写代码来存储相同的位置。那么,Glassfish的默认行为是将偏好存储在这个位置吗?或者有任何设置吗?

答案:玻璃鱼自动完成。它获取首选项然后存储到同一个。

b)现在,如果答案是肯定的问题a。然后,我在的prefs.xml改变prefernce价值,但如果我从java.util.Preference获取的值,我越来越老的价值不仅没有新的值之后。为什么java没有刷新值?或prefs.xml仅用于导入/导出偏好?

Ans:仅用于导入和导出。

c)每当我在外部更改我的Preference值时,它都不刷新prefs.xml中的值。这是服务器重启的一次性过程吗?

Ans:prefs.xml仅用作备份副本。如果更新了通过java.util.Preference,那么它也不会反映在prefs.xml中。更好地理解,更改prefs.xml中的值然后重新启动服务器。你会发现glassfish用你在java代码中设置的值替换你的值。