Hi,
This indeed seems to be related to a conflict of actions. I assume you are
using the same knowledge builder for adding both the main and the sub
process (as that is responsible for resolving possible conflicts)? If so,
could you provide a simple, standalone example that demonstrates this
behaviour so I can take a look?
Kris
----- Original Message -----
From: "retoy" <reto.lamprecht(a)allianz-suisse.ch>
To: <rules-users(a)lists.jboss.org>
Sent: Monday, July 19, 2010 12:45 PM
Subject: Re: [rules-users] java.lang.NoSuchMethodError on every Action node
I've been struggling with a NoSuchMethodError as well whenever I added any
simple Action to my ruleflow:
java.lang.NoSuchMethodError:
my.package.Process_my_package_0.action0(Lorg/drools/spi/KnowledgeHelper;Ljava/lang/Object;Lorg/drools/spi/ProcessContext;)V
at
my.package.Process_my_package_0Action0Invoker.execute(Process_my_package_0Action0Invoker.java:21)
at
org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.executeAction(ExtendedNodeInstanceImpl.java:66)
at
org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerEvent(ExtendedNodeInstanceImpl.java:45)
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.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at
org.drools.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at
org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:111)
at
org.drools.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:16)
at
org.drools.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:185)
at
org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:230)
at
org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1639)
at
org.drools.process.command.StartProcessCommand.execute(StartProcessCommand.java:46)
at
org.drools.process.command.StartProcessCommand.execute(StartProcessCommand.java:10)
at
org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:229)
at
org.drools.process.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:163)
In my scenario I have two ruleflows in the knowledge base. One is the
subflow of the other one and both contain an action.
To localize the cause of the problem, I only started the subflow
separately
and finally found that the NoSuchMethodError does NOT occur if
- the subprocess is added to the knowledge base AFTER the main process.
- the two processes don't have the same package name
So it seems like there is a name collision. The generated action of the
second ruleflow seems to overwrite the generated action of the first one.
Since both processes dont just execute the same action after that, but
instead the action of the first process is not found, I assume this is a
bug...
The workaround is to simply use different package names.
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/java-lang-NoSuchMetho...
Sent from the Drools - User mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Disclaimer:
http://www.kuleuven.be/cwis/email_disclaimer.htm