[英]How to feed data from an external Java Application into a Drools BRMS and get data back?
基本上,我首先在Eclipse中創建了一個Drools項目,並設計了一個基本的規則應用程序,該應用程序將一個對象放到工作內存中並激發所有正常工作的規則(使用ksession)。 我想找出如何從另一個Java應用程序(不同的eclipse項目)中調用此規則應用程序,將輸入對象變量提供給它,並將計算出的變量(從觸發規則中)返回給新的Java應用程序,從而有效地隔離規則處理從用戶界面。 尚未找到有關如何實現此目標的良好示例。 在業務規則管理系統方面,我是新手。
您可以創建一個創建靜態kSession的實用程序。 然后創建一個接受您的輸入並觸發規則的方法,如下所示(未經測試的代碼)。 每當您想使用它時,您都可以致電。
DroolsTest.getInstance()火(輸入)。
public class DroolsTest {
private static KieSession kSession;
private DroolsTest instance;
private DroolsTest(){
if(null == instance){
// load up the knowledge base
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
kSession = kContainer.newKieSession("ksession-rules");
}
}
public static DroolsTest getInstance(){
if(null = instance){
instance = new DroolsTest();
}
}
public static void fire(Object input) {
kSession.insert(input);
kSession.fireAllRules();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.