我有一个运行在Windows Server 2008(仅Tomcat,没有Apache或IIS)上的Tomcat 7
上的Struts 2 Web应用程序。应用程序中的文本存储在.properties文件中,并由Struts 2 I18N拦截器进行管理。在JSP中,我使用<s:text name="menu.help" />
标签。
有些时候(上个月两次),应用程序在卸载时会丢失对属性文件的引用,而是开始显示键。例如对于英语,它总是显示“帮助”,但是当我遇到这个问题时,它开始显示“menu.help”。我必须重新启动应用程序才能使其正常工作。
我查看了日志中的相关错误,但找不到与I18n或属性相关的任何内容。我也寻找OutOfMemoryError
,但找不到任何。
你知道可能是什么问题吗?你能想到我可以通过任何方式排除故障吗?
感谢属性文件被卸载
编辑:
这是我struts.xml中的相关部分:
<struts>
<constant name="struts.custom.i18n.resources" value="resources" />
...
而且属性文件(resources_en.properties, resources_es.properties, ...)
位于WEB-INF/classes
目录。
你可能想在这个的Struts用户邮件列表上发布。我怀疑有东西被垃圾收集,但不知道它会是什么。 – 2013-03-13 18:42:58
你尝试排除故障吗?你尝试手动切换区域设置吗? – 2013-03-13 19:17:20
@RomanC我有可能在应用程序中切换语言,并且在重新启动应用程序之前它不适用于任何语言。 – 2013-03-13 20:16:49