2009-10-14 67 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上部署了该战争的两个副本,尽管在部署生产环境时这会给您一些错误。