我使用的是Glassfish集成开发环境,但我在外部使用的是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();)。我已经试过了。这个解决方案在jetty中非常有效。但是当我使用glassfish服务器时,它是无效的。
发布于 2012-11-01 17:53:07
在谷歌上快速搜索一下,就发现了这个Glassfish Bug Report。简而言之,clearCache()是无效的,而且目前似乎还没有解决办法。
我也遇到了这个问题- How to reload resource bundle in web application? -但我不知道主要答案是否适用于你的情况;也就是说,它是否适用于Glassfish。
https://stackoverflow.com/questions/13174456
复制相似问题