2017-01-31 12 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

위의 코드는 문제가 없다고 물어 보았고, 단지 Maven 종속성을 업데이트해야합니다.

<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>