[JBoss jBPM] - Re: Action.java:122 NullPointerException
by kukeltje
Let me try to convince you
First of all it is not 1 stacktrace. There are 4 different ones (you see why there are 4 different ones? They all start with ERROR on the line and a new timestamp)
| ERROR 2009-01-08 15:01:15,795 [jBpmConnector.dispatcher.1] org.jbpm.instantiation.Delegation: couldn't load delegation class 'org.mule.providers.bpm.jbpm.actions.ValidateMessageSource'
| java.lang.ClassNotFoundException: class 'org.mule.providers.bpm.jbpm.actions.ValidateMessageSource' could not be found by the process classloader
| at org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:118)
|
| ERROR 2009-01-08 15:01:15,795 [jBpmConnector.dispatcher.1] org.jbpm.instantiation.Delegation: couldn't instantiate delegation class 'org.mule.providers.bpm.jbpm.actions.ValidateMessageSource'
| java.lang.NullPointerException
| at org.jbpm.instantiation.FieldInstantiator.newInstance(FieldInstantiator.java:105)
|
| ERROR 2009-01-08 15:01:15,920 [jBpmConnector.dispatcher.1] org.jbpm.graph.def.GraphElement: action threw exception: null
| java.lang.NullPointerException
| at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:387)
|
| ERROR 2009-01-08 15:01:16,029 [jBpmConnector.dispatcher.1] org.mule.DefaultExceptionStrategy: Caught exception in Exception Strategy: null
| org.jbpm.graph.def.DelegationException
| at org.jbpm.graph.def.Action.execute(Action.java:122)
|
and they are most likely related. The first is because the engine tries to load a class which fails, the second is because the engine tries to instantiate an object from that class which ofcourse fails (since the class could not be found). The third is because the engine tries to call a method on the class which fails because there is no instance of that class which failed because it could not be found. The last is because the defined action in the processflow could not be executed. This is because the method needed to execute the action could not be called which failed because the classs could not be instantiated which failed because the class could not be found.
Still not convinced? Then you are on your own I think.... But I'm pretty sure it has to do with how you have deployed jbpm in combination with mule and that it is a mule forum issue.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4200785#4200785
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4200785
17 years, 2 months
[JBoss jBPM] - NullPointerException after signal token in Process State wit
by kirq4e
Hi guys,
Recently me and my colleague started learning jBPM for our new project. I have started creating some processes to learn its capabilities.
We have developed a simple Parent-Children scenario.
The parent process is:
<?xml version="1.0" encoding="UTF-8"?>
| <process-definition xmlns="" name="ParentProcess">
| <start-state name="start">
| <transition to="SetInputVariable" name="toSetInputVariable"></transition>
| </start-state>
|
| <process-state name="InvokeChildProcess">
| <sub-process name="ChildProcess" binding="late"></sub-process>
| <variable access="read" name="parentKey"></variable>
| <variable access="read,write" name="lastVisitedProcess"></variable>
| <transition to="PrintVariables" name="toPrintVariables"></transition>
| </process-state>
|
| <node name="SetInputVariable">
| <action class="com.sirma.ecs2.test.subprocess.actions.SetInputVariables"></action>
| <transition to="InvokeChildProcess" name="toInvokeChildProcess"></transition>
| </node>
|
| <node name="PrintVariables">
| <action class="com.sirma.ecs2.test.subprocess.actions.PrintVariables"></action>
| <transition to="end" name="toEnd"></transition>
| </node>
| <end-state name="end"></end-state>
| </process-definition>
The child process is:
<?xml version="1.0" encoding="UTF-8"?>
| <process-definition xmlns="" name="ChildProcess">
| <start-state name="start">
| <transition to="Reset Variables" name="toResetVariables"></transition>
| </start-state>
|
| <node name="Reset Variables">
| <action name="Reset Variables" class="com.sirma.ecs2.test.subprocess.actions.ResetVariables"></action>
| <transition to="WaitSignal" name="toWaitSignal"></transition>
| </node>
|
| <state name="WaitSignal">
| <transition to="end" name="toEnd">
| <action class="com.sirma.ecs2.test.subprocess.actions.ExitWait"></action>
| </transition>
| </state>
| <end-state name="end"></end-state>
| </process-definition>
I start a Parent process and signal it the Token stops at the child`s State node: WaitSignal.
The Root token of the parent node is in InvokeChildProcess. The ActionHandlers are very simple just print a message and work with some variables.
If i try to signal the Parent process`s root node i got a NullPointerException:
Caused by: java.lang.NullPointerException
| at org.jbpm.graph.node.ProcessState.leave(ProcessState.java:186)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Node_$$_javassist_49.leave(Node_$$_javassist_49.java)
| at org.jbpm.graph.exe.Token.signal(Token.java:192)
| at org.jbpm.graph.exe.Token.signal(Token.java:140)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.exe.Token_$$_javassist_64.signal(Token_$$_javassist_64.java)
| at com.kpenev.test.TestBean.signalToken(Unknown Source)
|
Probably the right token that i have to signal is the token of the subprocess, but i don`t think that such an exception should occur.
The code that i execute is:
JbpmContext jbpmContext = JbpmConfiguration.getInstance()
| .createJbpmContext();
| try {
| ProcessInstance instance = jbpmContext.getGraphSession()
| .loadProcessInstance(instanceID);
| instance.getRootToken().signal();
| } finally {
| jbpmContext.close();
| }
The code that really works is:
JbpmContext jbpmContext = JbpmConfiguration.getInstance()
| .createJbpmContext();
| try {
| ProcessInstance instance = jbpmContext.getGraphSession()
| .loadProcessInstance(instanceID);
| instance.getRootToken().getSubProcessInstance().getRootToken()
| .signal();
| } finally {
| jbpmContext.close();
| }
I`m using jbpm-3.3.0.GA version and jboss-4.2.3.GA.
I debuged it and the subProcessInstance variable at ExecutionContext isn`t set.
Hope there is a solution for this, because in the near future i have to develop a very complex processes including subprocesses.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4200781#4200781
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4200781
17 years, 2 months
Deployment using JBoss Tools
by Abid Hussain
Hi everybody,
I'm trying to get startet with jbpm using the JBoss Tools IDE.
I followed the webinar example on
http://docs.jboss.com/jbpm/v3/demos/movies/jbpm-overview.htm
I created a process project, developed the process definition and deployed the
project on my local JBoss server using the "Deploy Process Archive..." button
which seems to succeed (at least the IDE tells me that the deployment was
successful).
But I can't find the application. Neither the IDE tells me on which web address
the application can be reached nor do I find any deployment archive in the local
JBoss directories.
Any help would be appreciated...
Regards,
Abid
--
Abid Hussain
17 years, 2 months