2017-01-31 16 views
0
KieServices ks = KieServices.Factory.get(); 

KieResources resources = ks.getResources(); 


String url = messageSource.getMessage("merchant.drool.engine.url", null, Locale.US); 
UrlResource urlResource = (UrlResource) resources.newUrlResource(url); 
urlResource.setUsername(messageSource.getMessage("merchant.drool.engin.username", null, Locale.US)); 
urlResource.setPassword(messageSource.getMessage("merchant.drool.engin.password", null, Locale.US)); 
urlResource.setBasicAuthentication(messageSource.getMessage("merchant.drool.engin.basicauth", null, Locale.US)); 

logger.info("DTR BATCH: Downloading... kie jar started."); 

InputStream stream = urlResource.getInputStream(); 

KieRepository repo = ks.getRepository(); 
KieModule k = repo.addKieModule(resources.newInputStreamResource(stream)); 
KieContainer kieContainer = ks.newKieContainer(k.getReleaseId()); 

KieScanner kieScanner = ks.newKieScanner(kieContainer); 
kieScanner.start(5000L); 

KieSession kSession = kieKontainer.newKieSession(); 

MyDataObject mObj = new MyDataObject(); 
kSession.insert(mObj); 
System.out.println("Fired rules: " + kSession.fireAllRules()); 

私たちは落としエンジン側でガイド付きの決定表を作成しました。私はJavaコードからデシジョンテーブル(gdst)を呼び出しています。上記のコードはエラーなしで実行されていますが、mObjのデータは更新されません。 Droolは私たちが渡しているのと同じオブジェクトを返しています。Javaからガイド付きデシジョンテーブルを呼び出す方法は?

+0

ルールが挿入された「MyDataObject」を変更しない場合、変更されません。 MyDataObjectを変更するルールがある場合、それらは起動されません。 - 'MyDataObject'のコンストラクタコードとは何ですか?また、そのオブジェクトを起動して変更するはずのルールのコードは何ですか? – laune

+0

ガイド付きルールはオブジェクトを更新していますが、デシジョン・テーブル(gdst)を作成するとオブジェクトを更新しません。私はデフォルトコンストラクタを作った。 javaからの落ち着き判定テーブル(gdst)を呼び出すためのサンプルコードを共有できますか? – Saurabh

答えて

0

kSession.fireAllRules()メソッドの戻りすなわちINT、実行ルールの数:あなたは次のようKieSessionを得るからワンステップです。ルールが実行されているかどうかを確認するには、fireallruleメソッドを実行した後にint値を出力することができます。

0

上記のコードはうまくいきましたが、ただの依存関係を更新する必要があります。

<dependency> 
    <groupId>org.kie</groupId> 
    <artifactId>kie-ci</artifactId> 
    <version>6.5.0.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.drools</groupId> 
    <artifactId>drools-workbench-models-guided-dtable</artifactId> 
    <version>6.5.0.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.kie</groupId> 
    <artifactId>kie-api</artifactId> 
    <version>6.5.0.Final</version> 
</dependency> 
関連する問題