我有一個運行在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