当我们将.class文件或servlet上传到服务器时,Web服务器会重新启动。当我们上传JSP时,这不会发生。有没有办法配置Resin以便动态加载类而无需重新启动Web服务器?
答案 0 :(得分:2)
据我所知,Resin是唯一可以重新加载类的servlet引擎。为此,您需要使用配置自动编译WEB-INF / classes样式类加载器的<compiling-loader>
。 这个编译加载器会自动将Java代码编译成加载它们的.class文件。
下面是WEB-INF/web-resin.xml
的一个例子:
<web-app xmlns="http://caucho.com/ns/resin">
<prologue>
<class-loader>
<compiling-loader path="WEB-INF/classes"
source="WEB-INF/src"/>
</class-loader>
</prologue>
</web-app>
我的理解是Resin将检查每个源文件,如果它们已从WEB-INF/classes
中的.class时间/日期/大小更改,则Resin将卸载当前类从JVM中重新编译.java文件,然后重新加载该类。