Hi Thomas,
We're still missing some of the context here; it's not clear what your
getRuntime() does but one thing it shouldn't do is to reuse the same
BpelRuntimeContext from another thread/transaction.
It looks like you're executing this code from another thread so perhaps you
need to create a new BpelRuntimeContext. Look at
PartnerLinkMyRoleImpl.invokeInstance() as a basis for this. Ideally this
would be encapsulated by the engine (and a specific external event) rather
than doing all this work outside the engine.
Hope we're getting closer this time,
alex
On Wed, Apr 23, 2008 at 3:58 AM, Thomas Steinmetz <[EMAIL PROTECTED]>
wrote:
>
> Hi,
>
> after doing as Alex advised, I still encounter the same errors.
> (thanks for the hint none the less :) )
>
> No I have this:
>
> BpelRuntimeContextImpl runtime = getRuntime(event.process_ID);
>
> Scheduler scheduler =
> runtime._bpelProcess._engine._contexts.scheduler;
>
> try {
> final BpelRuntimeContextImpl runt = runtime;
>
> scheduler.execTransaction(new Callable<Void>() {
> public Void call() throws Exception {
>
> runt.getVPU().inject(new JacobRunnable() {
> private static final long
> serialVersionUID = 76753611036745L;
> public void run() {
> LinkStatusChannel channel =
> event.chan;
> channel.linkStatus(true);
> }
> });
>
> runt.callExecution();
> return null;
> }
> });
> } catch (ContextException e) {
> e.printStackTrace();
> } catch (Exception e) {
> e.printStackTrace();
> }
>
>
> But I still get this errors (at the bottom of the page).
>
> If I call "channel.linkStatus(true)" from within a running activity (so no
> blocking there), everything just works fine.
>
> If I call it from outside (so the activity was blocked), I encounter these
> errors, although I am using the
> BpelRuntimeContextImpl of the respective process instance.
> The call sendEvent(new ActivityEnabledEvent()); in ACTIVITYGUARD actually
> fails, because finally,
> the method insertBpelEvent() in ProcessInstanceDAOImpl throws an exception,
> although it just adds this event to a List.
>
> I still don't know why that fails at all.
>
> So, once again, I appreciate every further hint, because I'm still
> absolutely lost.
>
>
> Greetings,
> Thomas
>
>
>
>
>
>
>
> ERROR - GeronimoLog.error(108) | Method "run" in class
> "org.apache.ode.bpel.runt
> ime.ACTIVITYGUARD" threw an unexpected exception.
> java.lang.NullPointerException
> at
> org.apache.ode.dao.jpa.ProcessInstanceDAOImpl.insertBpelEvent(Process
> InstanceDAOImpl.java:264)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveInstanceEvent(BpelProcess.
> java:578)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveEvent(BpelProcess.java:572
> )
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRunti
> meContextImpl.java:1039)
> at
> org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:150)
> at org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:141)
> at
> org.apache.ode.bpel.runtime.ACTIVITYGUARD.run(ACTIVITYGUARD.java:96)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
> 51)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute2(BpelRuntim
> eContextImpl.java:841)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
> ContextImpl.java:831)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.callExecution(BpelR
> untimeContextImpl.java:1384)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:528)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:517)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simpl
> eScheduler.java:179)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler.Start_A
> ctivity(IncomingMessageHandler.java:516)
> at
> org.apache.ode.bpel.extensions.comm.MessageDispatcher.onMessage(Messa
> geDispatcher.java:117)
> at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageC
> onsumer.java:854)
> at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionE
> xecutor.java:99)
> at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionEx
> ecutor.java:166)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.
> java:117)
> at
> org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunn
> er.java:26)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.ja
> va:44)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:650)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> 12:02:03,263 ERROR [JacobVPU] Method "run" in class
> "org.apache.ode.bpel.runtime
> .ACTIVITYGUARD" threw an unexpected exception.
> java.lang.NullPointerException
> at
> org.apache.ode.dao.jpa.ProcessInstanceDAOImpl.insertBpelEvent(Process
> InstanceDAOImpl.java:264)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveInstanceEvent(BpelProcess.
> java:578)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveEvent(BpelProcess.java:572
> )
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRunti
> meContextImpl.java:1039)
> at
> org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:150)
> at org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:141)
> at
> org.apache.ode.bpel.runtime.ACTIVITYGUARD.run(ACTIVITYGUARD.java:96)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
> 51)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute2(BpelRuntim
> eContextImpl.java:841)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
> ContextImpl.java:831)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.callExecution(BpelR
> untimeContextImpl.java:1384)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:528)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:517)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simpl
> eScheduler.java:179)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler.Start_A
> ctivity(IncomingMessageHandler.java:516)
> at
> org.apache.ode.bpel.extensions.comm.MessageDispatcher.onMessage(Messa
> geDispatcher.java:117)
> at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageC
> onsumer.java:854)
> at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionE
> xecutor.java:99)
> at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionEx
> ecutor.java:166)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.
> java:117)
> at
> org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunn
> er.java:26)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.ja
> va:44)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:650)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
> 64)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute2(BpelRuntim
> eContextImpl.java:841)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
> ContextImpl.java:831)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.callExecution(BpelR
> untimeContextImpl.java:1384)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:528)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler$1.call(
> IncomingMessageHandler.java:517)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simpl
> eScheduler.java:179)
> at
> org.apache.ode.bpel.extensions.handler.IncomingMessageHandler.Start_A
> ctivity(IncomingMessageHandler.java:516)
> at
> org.apache.ode.bpel.extensions.comm.MessageDispatcher.onMessage(Messa
> geDispatcher.java:117)
> at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageC
> onsumer.java:854)
> at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionE
> xecutor.java:99)
> at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionEx
> ecutor.java:166)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.
> java:117)
> at
> org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunn
> er.java:26)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.ja
> va:44)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.runTask(ThreadPoolExecutor.java:650)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
> ker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
>
> Caused by: java.lang.NullPointerException
> at
> org.apache.ode.dao.jpa.ProcessInstanceDAOImpl.insertBpelEvent(Process
> InstanceDAOImpl.java:264)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveInstanceEvent(BpelProcess.
> java:578)
> at
> org.apache.ode.bpel.engine.BpelProcess.saveEvent(BpelProcess.java:572
> )
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRunti
> meContextImpl.java:1039)
> at
> org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:150)
> at org.apache.ode.bpel.runtime.ACTIVITY.sendEvent(ACTIVITY.java:141)
> at
> org.apache.ode.bpel.runtime.ACTIVITYGUARD.run(ACTIVITYGUARD.java:96)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
> 51)
> ... 18 more
> --
> View this message in context:
> http://www.nabble.com/Encountered-a-problem-while-modifying-the-runtime-tp16824336p16834140.html
> Sent from the Apache Ode Dev mailing list archive at Nabble.com.
>
>