[rules-users] Ruleflow and events

pieter pieter.martin at gmail.com
Wed Sep 22 01:38:37 EDT 2010


Hi,

I have a foreach node with a composite node nested inside it. In the
composite node I have an exception handler defined and a fault node. The
exception handler calls 

context.getProcessEngine().signalEvent("MyFaultType",
context.getVariable("MyFaultVariable"));

However if the MyFaultType event node is nested in either the foreach or
composite node then the process engine can not find it. It only finds it
if the event node is outside both the foreach and composite node.

Caused by: java.lang.IllegalArgumentException: Unknown node id: 57
	at org.drools.workflow.core.impl.NodeContainerImpl.getNode(NodeContainerImpl.java:46)
	at org.drools.workflow.core.node.CompositeNode.getNode(CompositeNode.java:33)
	at org.drools.workflow.core.node.ForEachNode.internalGetNode(ForEachNode.java:102)
	at org.drools.workflow.instance.impl.NodeInstanceImpl.getNode(NodeInstanceImpl.java:91)
	at org.drools.workflow.instance.node.EventNodeInstance.getEventNode(EventNodeInstance.java:66)
	at org.drools.workflow.instance.node.EventNodeInstance.signalEvent(EventNodeInstance.java:36)
	at org.drools.workflow.instance.node.CompositeNodeInstance.signalEvent(CompositeNodeInstance.java:219)
	at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:278)

Is this expected behavior?

I am trying to have the foreach loop continue after the fault is raised.

Thanks
Pieter




More information about the rules-users mailing list