我正在使用NetBeans IDE,但我在外部使用Glassfish(不是NetBeans附带的。我在ubantu中通过终端使用GlassFish)。在我的项目中,我使用几个属性文件来加载页面上的标签。但问题是在运行时对属性文件进行修改时,更改不会反映在页面上。我需要重启Glassfish服务器。 ResourceBundle条目在faces-config文件中生成。
//faces-config.xml
<locale-config>
<default-locale>en</default-locale>
</locale-config>
<resource-bundle>
<base-name>ValidationMessages</base-name>
<var>msg</var>
</resource-bundle>
<message-bundle>ValidationMessages</message-bundle>
我知道,当在属性文件中进行更改时,我需要清除ResourceBundle的缓存(使用ResourceBundle.clearCache();)。我已经尝试过了。这种解决方案完美适用于码头。但是当我使用glassfish服务器时它无效。
答案 0 :(得分:2)
Google快速搜索显示了此Glassfish Bug Report。简而言之,clearCache()
无效,目前似乎没有解决方法。
我也遇到过这个问题 - How to reload resource bundle in web application? - 但我无法弄清楚主答案是否适用于你的情况;即如果它适用于Glassfish。