My scenario is a rule that is firing over a collection. For each item
in that collection a ruleflow starts to handle it. Right now the
ruleflow just uses the log workitem to log the steps. When there are
~600 items in the collection I'm getting stack overflows. Granted the
processes could be optimized (I'd really like to take each thing in
the collection that matched and start a process for the set of them).
Still is there a limit to the number of active processes with work
items?
java.lang.StackOverflowError
at java.lang.Long.valueOf(Long.java:547)
at
org
.drools
.workflow.core.impl.NodeContainerImpl.getNode(NodeContainerImpl.java:44)
at
org
.drools
.workflow
.core.impl.WorkflowProcessImpl.getNode(WorkflowProcessImpl.java:47)
at
org
.drools
.workflow
.core
.impl.WorkflowProcessImpl.internalGetNode(WorkflowProcessImpl.java:51)
at
org
.drools
.workflow.instance.impl.NodeInstanceImpl.getNode(NodeInstanceImpl.java:
90)
at
org
.drools
.workflow
.instance
.impl
.ExtendedNodeInstanceImpl
.getExtendedNode(ExtendedNodeInstanceImpl.java:24)
at
org
.drools
.workflow
.instance
.impl
.ExtendedNodeInstanceImpl.triggerEvent(ExtendedNodeInstanceImpl.java:41)
at
org
.drools
.workflow
.instance
.impl
.ExtendedNodeInstanceImpl
.internalTrigger(ExtendedNodeInstanceImpl.java:28)
at
org
.drools
.workflow
.instance
.node
.EventBasedNodeInstance.internalTrigger(EventBasedNodeInstance.java:30)
at
org
.drools
.workflow
.instance
.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:80)
at
org
.drools
.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:
111)
at
org
.drools
.workflow
.instance
.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:141)
at
org
.drools
.workflow
.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:
128)
at
org
.drools
.workflow
.instance
.impl
.ExtendedNodeInstanceImpl
.triggerCompleted(ExtendedNodeInstanceImpl.java:37)
at
org
.drools
.workflow
.instance
.node
.EventBasedNodeInstance.triggerCompleted(EventBasedNodeInstance.java:96)
at
org
.drools
.workflow
.instance
.node
.EventBasedNodeInstance.triggerCompleted(EventBasedNodeInstance.java:77)
at
org
.drools
.workflow
.instance
.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:
192)
at
org
.drools
.workflow
.instance
.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:
244)
at
org
.drools
.workflow
.instance
.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:222)
at
org
.drools
.workflow
.instance
.impl
.WorkflowProcessInstanceImpl
.signalEvent(WorkflowProcessInstanceImpl.java:258)
at
org
.drools
.process
.instance
.impl
.DefaultWorkItemManager.completeWorkItem(DefaultWorkItemManager.java:96)
at com.jsi.inactivity.DroolsTest$1.executeWorkItem(DroolsTest.java:40)