When using the DroolsDecisionHandler, only one transition from a rule is allowed, when a second transition is used, the following error is received:
[ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.EndState - this operation breaks ==
The error should not be received, since the transition is very similar, two rules have been created. When only the first rule is used the one transition works fine. the addition of the second rule with the second transition from the same package in the working memory causes this issue.
here is the process definition:
<process-definition
name="jbpm_to_rules"
xmlns="urn:jbpm.org:jpdl-3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://jbpm.org/xsd/jpdl-3.2.xsd"
>
<start-state name="start">
<transition to="approval">
<action expression="#
"/>
</transition>
</start-state>
<decision name="approval">
<handler class="org.jboss.seam.drools.DroolsDecisionHandler">
<workingMemoryName>creditRulesWorkingMemory</workingMemoryName>
<assertObjects>
<element>#
</element>
</assertObjects>
</handler>
<transition name="not-preferred-customer" to="done2">
<action expression="#
"/>
</transition>
<transition name="modified-score" to="modified-score">
<action expression="#
"/>
</transition>
</decision>
<end-state name="done2">
<event type="node-enter">
<action>expression="#
"/>
</action>
</event>
</end-state>
<end-state name="modified-score"> </end-state>
<task-node name="done" end-tasks="true">
<task name="nopreferred" description="Review order" >
<assignment pooled-actors="reviewers"/>
</task>
<transition name="done2" to="done2"/>
</task-node>
</process-definition>