package org.dayatang.rule.examples; import org.drools.core.audit.WorkingMemoryFileLogger; import org.kie.api.KieBase; import org.kie.api.KieServices; import org.kie.api.event.rule.DebugAgendaEventListener; import org.kie.api.event.rule.DebugRuleRuntimeEventListener; import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; public class HelloWorld { public static final void main(final String[] args) throws Exception { KieServices kieServices = KieServices.Factory.get(); KieContainer kContainer = kieServices.getKieClasspathContainer(); KieBase kBase1 = kContainer.getKieBase("rules"); KieSession session = kContainer.newKieSession("ksession-stateful"); session.addEventListener(new DebugAgendaEventListener()); session.addEventListener(new DebugRuleRuntimeEventListener()); final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(); logger.setFileName("log/helloworld"); final Message message = new Message(); message.setMessage("Hello World"); message.setStatus(Message.HELLO); session.insert(message); session.fireAllRules(); logger.writeToDisk(); session.dispose(); } public static class Message { public static final int HELLO = 0; public static final int GOODBYE = 1; private String message; private int status; public Message() { } public String getMessage() { return this.message; } public void setMessage(final String message) { this.message = message; } public int getStatus() { return this.status; } public void setStatus(final int status) { this.status = status; } } }