views:

1133

answers:

2

I'm wrestling with a strange problem: When I make a change to a POJO or Seam Component in my localhost JBoss instance, restart it, and load the page, the change is visible. However, on our server, running the same version of JBoss, when I stop the instance, delete the WAR file, upload the latest version, and restart JBoss, it won't show some of the new server-side functionality.

Specifically, the change is to a POJO class which implements javax.faces.validator.Validator class. It's then used in the XHTML Facelet like this:

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

I'm able to use the email validator on my localhost JBoss correctly; on the development server, it throws a validation error using the same email on the same page. Very strange. Is JBoss caching the class files somewhere? How do I clear everything out of the JBoss development server cache?

I'm using Win XP Pro locally; the development server is using JBoss 4.2.3.GA on JVM Version 1.5.0_16-b02, with Unix SunOS 5.10. Thanks.

+2  A: 

JBoss has work and tmp directories that you can delete to make sure everything is clean. Things can get cached there, so you can clear them out on deploy if you are having problems. There is also a setting to force that to happen automatically on JBoss's end. If your problem is a cache clearing problem, this will help solve it.

Another possibility is that you have two copies of that war deployed on JBoss, although that should give you some errors when you deploy in production.

Yishai
A: 

Thanks, Yishai. That setting is just what we need :)

Alex
If Yashai answer was correct and helpful you should accept his answer.
cetnar