<html><body>
<p><font size="4">Hi everybody! <br>
<br>
I'm struggling with the forEach construct. We already had a Drools Flow <br>
running using Drools 5.0. <br>
Now we would like to port it to Drools Flow 5.1.1. <br>
<br>
It seems that there is a problem with the ForEach Construct in combination <br>
with the XOR Gateway (the same <br>
seems to be true for the OR Gateway): <br>
<br>
Even if i set both constrains of the gateway to &quot;eval( true )&quot; i got an <br>
runtime Error like (full Stacktrace at the end of my post): <br>
Caused by: java.lang.IllegalArgumentException: XOR split could not find at <br>
least one valid outgoing connection for split Art des Arbeitsanstosses <br>
pruefen <br>
<br>
I can even reproduce this behaviour when building a small workflow from <br>
scratch. <br>
Had anyone else such an error? Does anyone know a workaround for this? <br>
You can reproduce this with the attached Flows.</font><br>
<font size="4"><br>
Any help is really appreciated! <br>
Regards, <br>
Dirk Hermanns <br>
<br>
P.S.: If i try to build such an Flow using the new bpmn Notation, i get an <br>
error when building the package in Guvnor: Workitem Node xxx has no <br>
incoming connection. <br>
So this doesn't seem to help :(. Has anyone got the forEach (or Multiple <br>
Instances) feature with Drools 5.1.1 working? <br>
<br>
<br>
org.drools.RuntimeDroolsException: Unexpected exception executing action <br>
org.drools.process.instance.event.DefaultSignalManager$SignalAction@15c90f4 <br>
      at org.drools.common.AbstractWorkingMemory.executeQueuedActions <br>
(AbstractWorkingMemory.java:1473) <br>
      at org.drools.common.DefaultAgenda.fireAllRules <br>
(DefaultAgenda.java:1074) <br>
      at org.drools.common.AbstractWorkingMemory.fireAllRules <br>
(AbstractWorkingMemory.java:785) <br>
      at org.drools.common.AbstractWorkingMemory.fireAllRules <br>
(AbstractWorkingMemory.java:751) <br>
      at <br>
org.drools.process.instance.impl.DefaultWorkItemManager.completeWorkItem <br>
(DefaultWorkItemManager.java:120) <br>
      at <br>
de.lvm.vorverteilung.internal.util.VorvertelungsauftragAnalysierenWorkItemHandler.executeWorkItem <br>
(VorvertelungsauftragAnalysierenWorkItemHandler.java:51) <br>
      at <br>
org.drools.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem <br>
(DefaultWorkItemManager.java:72) <br>
      at <br>
org.drools.workflow.instance.node.WorkItemNodeInstance.internalTrigger <br>
(WorkItemNodeInstance.java:101) <br>
      at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger <br>
(NodeInstanceImpl.java:117) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection <br>
(NodeInstanceImpl.java:178) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted <br>
(NodeInstanceImpl.java:144) <br>
      at <br>
org.drools.workflow.instance.node.StartNodeInstance.triggerCompleted <br>
(StartNodeInstance.java:49) <br>
      at <br>
org.drools.workflow.instance.node.StartNodeInstance.internalTrigger <br>
(StartNodeInstance.java:41) <br>
      at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger <br>
(NodeInstanceImpl.java:117) <br>
      at org.drools.ruleflow.instance.RuleFlowProcessInstance.internalStart <br>
(RuleFlowProcessInstance.java:32) <br>
      at org.drools.process.instance.impl.ProcessInstanceImpl.start <br>
(ProcessInstanceImpl.java:192) <br>
      at <br>
org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.start <br>
(WorkflowProcessInstanceImpl.java:309) <br>
      at org.drools.common.AbstractWorkingMemory.startProcess <br>
(AbstractWorkingMemory.java:1644) <br>
      at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess <br>
(StatefulKnowledgeSessionImpl.java:306) <br>
      at de.lvm.vorverteilung.internal.rules.TerminHRuleFlowTest.runTermin1 <br>
(TerminHRuleFlowTest.java:252) <br>
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) <br>
      at sun.reflect.NativeMethodAccessorImpl.invoke <br>
(NativeMethodAccessorImpl.java:39) <br>
      at sun.reflect.DelegatingMethodAccessorImpl.invoke <br>
(DelegatingMethodAccessorImpl.java:25) <br>
      at java.lang.reflect.Method.invoke(Method.java:597) <br>
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall <br>
(FrameworkMethod.java:44) <br>
      at org.junit.internal.runners.model.ReflectiveCallable.run <br>
(ReflectiveCallable.java:15) <br>
      at org.junit.runners.model.FrameworkMethod.invokeExplosively <br>
(FrameworkMethod.java:41) <br>
      at org.junit.internal.runners.statements.InvokeMethod.evaluate <br>
(InvokeMethod.java:20) <br>
      at org.junit.internal.runners.statements.RunBefores.evaluate <br>
(RunBefores.java:28) <br>
      at org.junit.internal.runners.statements.RunAfters.evaluate <br>
(RunAfters.java:31) <br>
      at org.junit.runners.BlockJUnit4ClassRunner.runChild <br>
(BlockJUnit4ClassRunner.java:70) <br>
      at org.junit.runners.BlockJUnit4ClassRunner.runChild <br>
(BlockJUnit4ClassRunner.java:44) <br>
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) <br>
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) <br>
      at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) <br>
      at org.junit.internal.runners.statements.RunBefores.evaluate <br>
(RunBefores.java:28) <br>
      at org.junit.internal.runners.statements.RunAfters.evaluate <br>
(RunAfters.java:31) <br>
      at org.junit.runners.ParentRunner.run(ParentRunner.java:220) <br>
      at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run <br>
(JUnit4TestReference.java:46) <br>
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run <br>
(TestExecution.java:38) <br>
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests <br>
(RemoteTestRunner.java:467) <br>
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests <br>
(RemoteTestRunner.java:683) <br>
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run <br>
(RemoteTestRunner.java:390) <br>
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main <br>
(RemoteTestRunner.java:197) <br>
Caused by: java.lang.IllegalArgumentException: XOR split could not find at <br>
least one valid outgoing connection for split Art des Arbeitsanstosses <br>
pruefen <br>
      at org.drools.workflow.instance.node.SplitInstance.internalTrigger <br>
(SplitInstance.java:92) <br>
      at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger <br>
(NodeInstanceImpl.java:117) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection <br>
(NodeInstanceImpl.java:178) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted <br>
(NodeInstanceImpl.java:144) <br>
      at <br>
org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted <br>
(ExtendedNodeInstanceImpl.java:53) <br>
      at <br>
org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted <br>
(StateBasedNodeInstance.java:117) <br>
      at <br>
org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted <br>
(StateBasedNodeInstance.java:98) <br>
      at <br>
org.drools.workflow.instance.node.WorkItemNodeInstance.internalTrigger <br>
(WorkItemNodeInstance.java:105) <br>
      at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger <br>
(NodeInstanceImpl.java:117) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection <br>
(NodeInstanceImpl.java:178) <br>
      at <br>
org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted <br>
(NodeInstanceImpl.java:144) <br>
      at <br>
org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted <br>
(ExtendedNodeInstanceImpl.java:53) <br>
      at <br>
org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted <br>
(StateBasedNodeInstance.java:117) <br>
      at <br>
org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted <br>
(StateBasedNodeInstance.java:98) <br>
      at org.drools.workflow.instance.node.RuleSetNodeInstance.signalEvent <br>
(RuleSetNodeInstance.java:71) <br>
      at <br>
org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent <br>
(WorkflowProcessInstanceImpl.java:343) <br>
      at <br>
org.drools.process.instance.event.DefaultSignalManager.internalSignalEvent <br>
(DefaultSignalManager.java:79) <br>
      at org.drools.process.instance.event.DefaultSignalManager <br>
$SignalAction.execute(DefaultSignalManager.java:167) <br>
      at org.drools.common.AbstractWorkingMemory.executeQueuedActions <br>
(AbstractWorkingMemory.java:1471) <br>
      ... 43 more </font><br>
<br>
<i>(See attached file: ZZTestFlow2.rf)</i><i>(See attached file: ZZTestFlow.bpmn)</i></body></html>