使用Glassfish 3.1.2服务器时,属性文件的更改不会反映在页面中

时间:2012-11-01 09:47:43

标签: java jsf web-applications glassfish-3

我正在使用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服务器时它无效。

1 个答案:

答案 0 :(得分:2)

Google快速搜索显示了此Glassfish Bug Report。简而言之,clearCache()无效,目前似乎没有解决方法。

我也遇到过这个问题 - How to reload resource bundle in web application? - 但我无法弄清楚主答案是否适用于你的情况;即如果它适用于Glassfish。