我有一个使用JBoss Drools 5的spring应用程序。除了我在开发过程中进行更改后尝试重新部署(即热部署)应用程序时,它工作正常。似乎tomcat对2个drools jar文件,drools-compiler-5.0.1.jar和drools-core-5.0.1.jar保持锁定。由于无法删除它们,因此无法部署新的war文件。如果我的应用程序没有进行任何Drools逻辑调用,则热部署可以正常工作。
有没有人有任何想法?
答案 0 :(得分:1)
我不知道drools的细节,但很可能,Tomcat类加载器无法完全卸载你的应用程序。公共日志的类似问题在这里解释:http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java
作为解决方法,您可以尝试在$tomcat_home/conf/context.xml
中使用antiResourceLocking =“true”。这应该至少有助于释放锁。有关详细信息,请参阅http://tomcat.apache.org/tomcat-6.0-doc/config/context.html。