我在drools中爲規則創建了多個包,每個包都包含不同的規則,並且我將所有包的規則添加到了kmodule.xml文件中,並且一旦我運行了其中一個bpmns(每個規則包都有一個不同的bpmn和ruleflow-grouo),即使是不同的包和不同的ruleflow-group中的規則也會被解僱。我想創建多個Kiebase,每個包含相關的drl文件(也可以編程方式動態構建kmodule,而不是通過將它們寫入meta-inf文件夾中),一旦我決定需要哪一個,我會將kiebase添加到會話中並運行正確的bpmn。我怎樣才能實現這個?在drools中創建多個KieBase並創建kmodule程序
0
A
回答
0
看看this other question。在那裏你可以找到兩種以編程方式在Java中創建KieBases的方法。
希望它能幫助,
0
也許這個片段可以激發你攻擊它自己的方式:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
String someRules = getRulesFromSomewhere(); // find your rules text here...
kbuilder.add(someRules, ResourceType.DRL);
if (kbuilder.hasErrors()) {
//in case of compiling errors
for (KnowledgeBuilderError error : kbuilder.getErrors()) {
LOG.error(error.toString());
}
}else{
kSession = kbuilder.newKnowledgeBase().newStatelessKieSession();
//use your stateless ksession here!
}
在我而言那些「someRules」來自數據庫查詢得到的所有規則從一個表根據一定的標準。您可以輕鬆使用這種代碼根據不同的規則創建多個kieSession。
相關問題
- 1. 創建一個Drools Web應用程序
- 2. 本程序創建多少個程序
- 3. Spark&Drools - 如何用Kryo序列化KieBase
- 4. Drools - 更快地創建KnowlegeBuilder?
- 5. 在oracle中創建程序
- 6. 在R中創建程序
- 7. 在循環中創建多個線程
- 8. 的iOS:編程創建創建程序
- 9. 創建程序
- 10. 創建多個TextViews編程
- 11. 創建多個線程C++
- 12. 創建多少個線程?
- 13. 創建多個面板或創建一個,並從代碼
- 14. 在python中創建一個小程序
- 15. 並行線程創建不創建一個線程
- 16. Drools中創建自定義分數
- 17. 創建一個程序MySQL
- 18. 創建一個Java程序
- 19. 如何在Adobe Air程序中創建多個進程?
- 20. 如何在一個程序中創建多個GUI表單?
- 21. 如何在同一個程序中創建多個套接字。
- 22. JDeveloper在一個應用程序中創建多個項目
- 23. 使用codeigniter創建表格錯誤並創建多個表格
- 24. Dos創建批處理文件並運行多個C++程序
- 25. 構建多種風格的Android應用程序創建多個應用程序
- 26. 爲多個應用程序創建一個安裝程序
- 27. 創建多個進程在Windows VC++
- 28. 創建另一個程序的程序
- 29. 創建Cocoa程序
- 30. ASM創建程序
我的drl沒有以這種方式運行(沒有例外)。你知道我如何在運行時動態地創建kmodule.xml文件,而不需要使用放在META-INF文件夾中的默認文件? – arielb