我有一个使用JBoss Drools 5的 spring 应用程序。它工作正常,除非我在开发期间进行更改后尝试重新部署(即热部署)应用程序。看来,tomcat 锁定了 2 个 drools jar 文件,drools-compiler-5.0.1.jar 和 drools-core-5.0.1.jar。由于无法删除它们,因此不会部署新的 war 文件。如果我的应用程序没有进行任何 Drools 逻辑调用,那么热部署就可以工作。
有没有人有任何想法?
我有一个使用JBoss Drools 5的 spring 应用程序。它工作正常,除非我在开发期间进行更改后尝试重新部署(即热部署)应用程序。看来,tomcat 锁定了 2 个 drools jar 文件,drools-compiler-5.0.1.jar 和 drools-core-5.0.1.jar。由于无法删除它们,因此不会部署新的 war 文件。如果我的应用程序没有进行任何 Drools 逻辑调用,那么热部署就可以工作。
有没有人有任何想法?
我不知道流口水的细节,但很有可能,Tomcat 类加载器无法完全卸载您的应用程序。此处解释了 commons-logging 的类似问题:http: //frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html
作为一种解决方法,您可以尝试在$tomcat_home/conf/context.xml
. 这至少应该有助于释放锁。有关详细信息,请参阅http://tomcat.apache.org/tomcat-6.0-doc/config/context.html。