0 Replies Latest reply on Mar 13, 2007 4:48 PM by Ed Tornick

    Interesting behavoir when debugging app in eclipse with Jbos

    Ed Tornick Newbie

      I noticed this very interesting behavoir when debugging a simple web app in myEclipse with Jboss. ( I am using the latest version of jboss)
      I was wondering if anyone knew anything about this. I have done quite a bit of searching for this and couldn't find an explanation.

      When editing jsp files in eclipse, upon file save the files are deployed to jboss. This works perfectly. When refreshing the browser the new jsp executes. This is hot deploy working as I expected.

      When I change code in a java package that is a bean used by the jsp this is where the behavoir is strange. I noticed that the class file is immediately deployed to jboss upon the file save.
      However when I step through the debugger it appears to execute the new code but the output is from the old class.

      If I bring up a new browser and do the same test then the code steps through as before but this time the code is executing correctly. It is as if the old class is actually cached somewhere and is used unless I start up a new browser.

      Just as a test, I repeated the test and this time I deleted the class from the server deploy diretory and sure enough, with the same browser I used just before deleting the class, the code stepped through the debugger as if the class was still there, and returned the old values.

      If I brought up a new browser I got an error that the class wasn't there.

      It is as if jboss is caching the java class somewhere.

      I read about the cache product but I am not using that, I am just using the basic jboss server.

      This is not a problem as I can still make progress with what I am working on. I just have to know to either re-deploy when making a change to any java code or bring up a new browser to see the latest deployed code. I am just curious if anyone knows why this is happening.

      Thanks in advance for any insights.