Deserializing exceptions in exploded deployment
I've got an application exception named "EPCException" that extends java.lang.Exception that I throw from a stateless session bean and catch in a servlet. My application is deployed on WebLogic 6.1sp4/jdk131 in exploded format for both the web app and ejbs. That is, neither the web or ejb components are packaged in archives (war and jar respectively).
For some reason the state in EPCException (e.g., error code attribute) is not being preserved when the exception is deserialized in the web app and caught in the servlet. The state of the EPCException is that of the default
To be sure, I log the state of EPCException before I throw the exception in the ejb and after I catch the exception in the servlet and they do not match.
When I deploy the application as an ear file (no rmi calls, thus no [de]serialization) everything is fine with the state of the EPCException.
Does RMI treat exception [de]serialization differently than normal serializable objects returned by remote method calls?
Any help would be appreciated.
Are you sure the timestamps on the JSP files are not modified by the build process?
If you compile the files into a destination dir say "bar/WEB-INF/classes" and then copy all the jsp files (w/o preserving the timestamps) to /bar which is then deployed. In this case all the JSPs will be recompiled since the class files contain the timestamp of the original JSP it was compiled against.
check out http://dev2dev.bea.com/pub/a/2005/01/jsp_reloaded.html which describes a bit about the jsp compilation process