I've got a webapp installed in a Tomcat container that exists on a read-only file system. As a result, I'm seeing this message (actual names changed to protect the guilty) on startup:
SEVERE: The scratchDir you specified: /readonlyfs/tomcat/work/Catalina/localhost/myApp is unusable.
Despite this message, the app seems to run, and it's difficult to tell for certain, but it appears that JSP pages are not being compiled for every access. So, my question is, what happens to the compiled JSP pages? Are they cached in memory? Are they cached indefinitely? Are they cached at all?
I need to know definitively because the application will almost always be deployed to a read-only file system, and if this will cause performance problems then I'll have to change scratchdir to point to another filesystem. However, this brings additional complexity to the deployment process that I'd like to avoid. So, if performance doesn't suffer, i.e., pages are cached in memory, then I am happy to leave things alone. I realize that serialized session data will be lost on a read-only file system, but that does not concern me, and is actually a plus. It's only the handling of compiled pages that concerns me.