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.
>
>

Reply via email to