在我当前的应用程序中,我们使用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 中的值。这是服务器重启的一次性过程吗?
任何有关任务的帮助对我都非常有帮助。
答案 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代码中设置的值替换你的值。