簡體   English   中英

如何將數據從外部Java應用程序饋送到Drools BRMS並取回數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM