2010-07-12 45 views
0

當我修改.drl中的規則時,修改不生效。是否可以在不重新啓動服務器的情況下修改(即熱部署)規則(.drl) dllols (tomcat)?我該如何解決這個問題?使用Drools和Tomcat的問題

回答

1

是的 - 有幾種方式 - 但第一個問題是你如何加載規則 - 你是從classpath加載它們嗎?或在磁盤上的某個地方?有一個KnowledgeAgent(和RuleAgent)類,可以從各種來源加載它,並檢測更改並在更改drl文件時自動爲您應用它們。

+0

我用spring創建一個知識庫,然後創建一個會話並在我需要執行時激發規則。我認爲KnowledgeAgent的問題在於它繼續掃描目錄,這是性能嗎?提前致謝! – martin 2010-07-14 14:01:58

+0

掃描通常不會成爲問題。有一天(Java 7?)可以消失,因爲真正的文件通知是可能的。 – 2010-07-20 03:36:47