Hi,
i'am trying to run this simple example using my own rules it seems that things all right but i get not thing in the console view, why he is not evaluating correctly the rule
JAVA CODE
|
|
| KnowledgeBase eventKbase = readEventKnowledgeBase(); //read.dlr |
|
|
| StatefulKnowledgeSession eventKsession = eventKbase.newStatefulKnowledgeSession(); |
|
|
|
|
|
|
| KnowledgeBase kbase = readKnowledgeBase();//read BPMN |
|
|
| StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); |
|
|
|
|
|
|
| Properties properties = new Properties(); |
|
|
| properties.put("drools.processInstanceManagerFactory",DefaultProcessInstanceManagerFactory.class.getName()); |
|
|
| properties.put("drools.processSignalManagerFactory" ,DefaultSignalManagerFactory.class.getName()); |
|
|
| KnowledgeSessionConfiguration config = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties); |
|
|
|
|
|
|
| ksession = kbase.newStatefulKnowledgeSession(config, null); |
|
|
| ksession.addEventListener(new CustomProcessEventListener(eventKsession)); |
|
|
| KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test"); |
|
|
|
|
|
|
| //insering Ticket |
|
|
| Ticket ticket = new Ticket(); |
|
|
| ticket.setStatus("open"); |
|
|
| ticket.setContent("testing content"); |
|
|
| ticket.setOpeningDate(new Date()); |
|
|
| ticket.setIdTicket(1); |
|
|
|
|
|
|
| ksession.insert(ticket); |
|
|
| ksession.fireAllRules(); |
DROOLS CODE
import java.util.Date
import java.util.List
#declare any global variables here
#declare Ticket
# @role(event)
#end
declare Server
idTicket : int
status : int
openingDate : Date // percentage
content: Date
end
dialect "mvel"
rule "Check 5mn condition"
when
$ticket:Ticket(status=="open");
then
System.out.println("New Ticket is opened");
end
Best Regards