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에서 유도 결정 테이블을 호출하는 방법?
규칙에 삽입 된 'MyDataObject'가 변경되지 않으면 변경되지 않습니다. MyDataObject를 변경하는 규칙이있는 경우 해고되지 않습니다. - 'MyDataObject'의 생성자 코드는 무엇이며, 실행해야 할 규칙의 코드는 무엇이며 그러한 객체를 변경해야합니까? – laune
유도 규칙은 객체를 업데이트하지만 결정 테이블 (gdst)을 작성하면 객체를 업데이트하지 않습니다. 기본 생성자를 만들었습니다. Java에서 잠꼬대 의사 결정 테이블 (gdst)을 호출하기위한 예제 코드를 공유 할 수 있습니까? – Saurabh