I am trying to use Cactus to test EJBs on JBoss. The problem I am experiencing has to do with some misunderstanding on my part (I'm sure) about class loading. I would be grateful to anyone who wishes to set me straight.
So I'm writing a test case that extends Cactus' ServletTestCase. I deploy my application, including the tests, start JBoss and execute the tests. Beautiful.
Now I change a test. I redeploy my application while JBoss is still running. This redeploy includes deleting the deployed application, repackaging and copying into server/default/deploy. I expect to be able to execute the test at this point, but I cannot: the server-side version of the test has not changed. I suppose the class was not reloaded.
Can I force my test case to be reloaded on the server side without restarting JBoss? If so, how? If not, is there a 25-words explanation why not?
Thanks, everyone, for your help.
This sounds like a Cactus problem.
JBoss caches classes, but the cache is flushed at
Is Cactus using Class.forName() instead of the thread context
classloader? Do you have a jndi.properties in your deployment?