我在只读文件系统上存在的 Tomcat 容器中安装了一个 webapp。结果,我在启动时看到此消息(实际名称已更改以保护有罪者):
严重:您指定的 scratchDir:/readonlyfs/tomcat/work/Catalina/localhost/myApp 不可用。
尽管有此消息,但该应用程序似乎正在运行,并且很难确定,但似乎 JSP 页面并未针对每次访问进行编译。所以,我的问题是,编译后的 JSP 页面会发生什么?它们是否缓存在内存中?它们是否被无限期缓存?它们是否被缓存?
我需要明确知道,因为应用程序几乎总是部署到只读文件系统,如果这会导致性能问题,那么我将不得不更改 scratchdir 以指向另一个文件系统。但是,这给我希望避免的部署过程带来了额外的复杂性。因此,如果性能不受影响,即页面缓存在内存中,那么我很乐意不理会这些事情。我意识到序列化的会话数据会在只读文件系统上丢失,但这与我无关,实际上是一个加号。我只关心编译页面的处理。