Guo-Guang Chiou [http://community.jboss.org/people/taitung.wilbert] created the discussion
"Re: fail to fire a rule task~~ frustrated" To view the discussion, visit: http://community.jboss.org/message/631520#631520 -------------------------------------------------------------- hi, Francesco. thanks for your reply. Finally, I found a way to run rule task on jbpm-console. here is my process definition.. ================================================================================= <?xml version="1.0" encoding="UTF-8"?> <definitions id="Definition" targetNamespace=" http://www.jboss.org/drools http://www.jboss.org/drools" typeLanguage=" http://www.java.com/javaTypes http://www.java.com/javaTypes" expressionLanguage=" http://www.mvel.org/2.0 http://www.mvel.org/2.0" xmlns=" http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" xmlns:g=" http://www.jboss.org/drools/flow/gpd http://www.jboss.org/drools/flow/gpd" xmlns:bpmndi=" http://www.omg.org/spec/BPMN/20100524/DI http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc=" http://www.omg.org/spec/DD/20100524/DC http://www.omg.org/spec/DD/20100524/DC" xmlns:di=" http://www.omg.org/spec/DD/20100524/DI http://www.omg.org/spec/DD/20100524/DI" xmlns:tns=" http://www.jboss.org/drools http://www.jboss.org/drools"> <process processType="Private" isExecutable="true" id="testrule" name="TestRule" tns:packageName="defaultPackage" tns:version="16" > <extensionElements> <tns:import name="org.drools.event.*" /> </extensionElements> <!-- nodes --> <startEvent id="_1" name="StartProcess" /> <scriptTask id="_2" name="Script" scriptFormat=" http://www.java.com/java http://www.java.com/java" > <script>System.out.println("Before rule\n"); //java.util.Iterator itr = kcontext.getKnowledgeRuntime().getKnowledgeBase().getStatefulKnowledgeSessions().iterator(); //boolean called = false; org.drools.event.AgendaEventListener lis = new org.drools.event.AgendaEventListener(){ public void activationCancelled(org.drools.event.ActivationCancelledEvent arg0, org.drools.WorkingMemory arg1) { } public void activationCreated(org.drools.event.ActivationCreatedEvent arg0, org.drools.WorkingMemory arg1) { } public void afterActivationFired( org.drools.event.AfterActivationFiredEvent arg0, org.drools.WorkingMemory arg1) { } public void afterRuleFlowGroupActivated( org.drools.event.RuleFlowGroupActivatedEvent arg0, org.drools.WorkingMemory arg1) { System.out.println("firing all rules"); arg1.fireAllRules(); } public void afterRuleFlowGroupDeactivated( org.drools.event.RuleFlowGroupDeactivatedEvent arg0, org.drools.WorkingMemory arg1) { } public void agendaGroupPopped(org.drools.event.AgendaGroupPoppedEvent arg0, org.drools.WorkingMemory arg1) { } public void agendaGroupPushed(org.drools.event.AgendaGroupPushedEvent arg0, org.drools.WorkingMemory arg1) { } public void beforeActivationFired( org.drools.event.BeforeActivationFiredEvent arg0, org.drools.WorkingMemory arg1) { } public void beforeRuleFlowGroupActivated( org.drools.event.RuleFlowGroupActivatedEvent arg0, org.drools.WorkingMemory arg1) { } public void beforeRuleFlowGroupDeactivated( org.drools.event.RuleFlowGroupDeactivatedEvent arg0, org.drools.WorkingMemory arg1) { } }; //if(itr.hasNext()) //{ System.out.println("casting.."); org.drools.runtime.StatefulKnowledgeSession ksession = (org.drools.runtime.StatefulKnowledgeSession) kcontext.getKnowledgeRuntime(); try{ org.drools.impl.StatefulKnowledgeSessionImpl s = (org.drools.impl.StatefulKnowledgeSessionImpl)ksession; s.session.addEventListener(lis) ; System.out.println("listener is added"); //called = true; } catch(Exception ex) { System.out.println("================================================================================================================"); System.out.println(ex.getMessage()); System.out.println("================================================================================================================"); } //} //if(called==false) //{ // System.out.println("no session found"); //}</script> </scriptTask> <businessRuleTask id="_3" name="Rule" g:ruleFlowGroup="validate" > </businessRuleTask> <endEvent id="_4" name="End" > <terminateEventDefinition/> </endEvent> <scriptTask id="_5" name="Script" scriptFormat=" http://www.java.com/java http://www.java.com/java" > <script> System.out.println("Rule Task is done"); </script> </scriptTask> <!-- connections --> <sequenceFlow id="_1-_2" sourceRef="_1" targetRef="_2" /> <sequenceFlow id="_2-_3" sourceRef="_2" targetRef="_3" /> <sequenceFlow id="_5-_4" sourceRef="_5" targetRef="_4" /> <sequenceFlow id="_3-_5" sourceRef="_3" targetRef="_5" /> </process> <bpmndi:BPMNDiagram> <bpmndi:BPMNPlane bpmnElement="testrule" > <bpmndi:BPMNShape bpmnElement="_1" > <dc:Bounds x="16" y="16" width="48" height="48" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_2" > <dc:Bounds x="96" y="16" width="80" height="48" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_3" > <dc:Bounds x="208" y="16" width="80" height="48" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_4" > <dc:Bounds x="432" y="16" width="48" height="48" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="_5" > <dc:Bounds x="320" y="16" width="80" height="48" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge bpmnElement="_1-_2" > <di:waypoint x="40" y="40" /> <di:waypoint x="136" y="40" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_2-_3" > <di:waypoint x="136" y="40" /> <di:waypoint x="248" y="40" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_5-_4" > <di:waypoint x="360" y="40" /> <di:waypoint x="456" y="40" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="_3-_5" > <di:waypoint x="248" y="40" /> <di:waypoint x="360" y="40" /> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions> ================================================================================= -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/631520#631520] Start a new discussion in jBPM at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
