java - prefs.xml(java.utils.prefs.Preference) 由 Glassfish 自动刷新

标签 java glassfish-3

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

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

b) 现在,如果问题 a 的答案是肯定的。然后我更改 prefs.xml 中的首选项值,但之后如果我从 java.util.Preference 获取值,我只会获取旧值,而不是新值。为什么java不刷新值?或者 prefs.xml 仅用于导入/导出首选项?

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

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

最佳答案

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

答案:玻璃鱼会自动完成。它获取首选项,然后存储到相同的首选项中。

b) 现在,如果问题 a 的答案是肯定的。然后我更改 prefs.xml 中的首选项值,但之后如果我从 java.util.Preference 获取值,我只会获取旧值而不是新值。为什么java不刷新值?或者 prefs.xml 仅用于导入/导出首选项?

答:仅适用于导入和导出。

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

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

关于java - prefs.xml(java.utils.prefs.Preference) 由 Glassfish 自动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389199/

相关文章:

java - 无法在方法中添加到 arrayList

java - 如何修改ArrayList的add

Java EE 依赖本地 EJB

java - 在 Eclipse 中运行 Java EE 示例项目

java - 使用 GlassFish v3、EJB 和 SOAPUI

jakarta-ee - glassfish - 与 mysql 的连接崩溃

java - 打开Android App按钮不会返回到当前已打开的Activity

java - 单个 Thread.interrupt() 中断不止一次

java - 解析异常 : At line 1, 第 0 列:未找到元素

java - 从独立应用程序调用 glassfish ejb