2010-05-06 45 views
0

我有一個使用JBoss Drools 5的彈簧應用程序。除了在開發過程中進行更改之後嘗試重新部署(即熱部署)應用程序時,它工作正常。看來,tomcat鎖定2個drools jar文件,drools-compiler-5.0.1.jar和drools-core-5.0.1.jar。由於它們不能被刪除,新的war文件不會被部署。如果我的應用程序不進行任何Drools邏輯調用,那麼熱部署就起作用。我在使用Drools和Tomcat重新部署應用程序時遇到問題6

有沒有人有任何想法?

回答

1

我不知道drools的具體細節,但有可能是,Tomcat classloader無法完全卸載您的應用程序。常見問題的類似問題解釋如下: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

+0

謝謝,這個伎倆。 – FrankL 2010-05-06 22:18:18

+0

順便說一句,來自JavaMail的'mail.jar'存在類似的問題。只要您發送至少一封郵件,它就會「掛起」。根本問題是由操作系統引起的。 Windows在這方面是衆所周知的。 – BalusC 2010-05-06 23:00:24

+0

@FrankL - 如果這有幫助,不要忘記標記答案爲接受:) @BalusC - 我認爲Windows不能因爲Java進程持有文件鎖定而被指責。是的,我更喜歡Linux風格的鎖定,但這裏的根本問題是Java(無論是特定的庫還是語言),而不是操作系統。 – mindas 2010-05-07 09:05:08

相關問題