2009-10-14 35 views
4

我遇到了一個奇怪的問題:當我在本地主機JBoss實例中對POJO或Seam組件進行更改時,重新啓動它並加載該頁面,可以看到該更改。但是,在運行相同版本的JBoss的服務器上,當我停止實例,刪除WAR文件,上傳最新版本並重新啓動JBoss時,它不會顯示一些新的服務器端功能。JBoss緩存類文件?

具體來說,更改是實現javax.faces.validator.Validator類的POJO類。它然後在XHTML的facelet像這樣使用:

<h:inputText value="#{outsideaccount.accountOrganizationEmail}" maxlength="50" 
    id="txtOrganizationSupportEmail" 
    validatorMessage="Organization Support Email is not valid. It must be in the pattern '[email protected]_domain.com'."> 
    <f:validator validatorId="AnyEmailValidator"/> 
</h:inputText> 

我能正確地使用電子郵件驗證在我的本地的JBoss;在開發服務器上,它會在同一頁面上使用相同的電子郵件引發驗證錯誤。很奇怪。 JBoss是在什麼地方緩存類文件?如何清除JBoss開發服務器緩存中的所有內容?

我在本地使用Win XP Pro;開發服務器在JVM版本1.5.0_16-b02上使用JBoss 4.2.3.GA,使用Unix SunOS 5.10。謝謝。

+0

您是通過seam-gen命令還是手動部署? – cetnar 2009-10-14 19:52:48

+0

屬於serverfault。 – 2009-10-14 19:57:19

回答

6

JBoss有工作和tmp目錄,你可以刪除,以確保一切都乾淨。事情可以緩存在那裏,所以如果你遇到問題,你可以在部署時清除它們。還有一個setting強制它在JBoss的最後自動發生。如果您的問題是緩存清除問題,這將有助於解決問題。

另一種可能性是您在JBoss上部署了該戰爭的兩個副本,儘管在部署生產環境時這會給您一些錯誤。