[
https://issues.apache.org/jira/browse/ODE-527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676390#action_12676390
]
Rafal Rusin commented on ODE-527:
---------------------------------
Sorry for not beeing clear enough.
Masking exception is done just for not causing JobProcessorException during
building endpoint reference description in engine. It's used only to build
proper mex to store in DB, which is later processed in IL. The above stacktrace
refers to JbiEndpointReference.getServiceEndpoint, but this is still in
engine's job - bpel evaluation.
After applying this patch, later processing in engine does create a mex with an
empty service description. The mex is then processed in IL (it's another job)
and this leads to mex.replyWithFailure, because an empty serviceref destination
doesn't exist. The IL (jbi) replyWithFailure is implemented correctly Then
engine receives this failure (in yet another job) and processes in a way it's
specified in activityRecovery elements in bpel.
After applying this patch and running a bpel containing INVOKE to a non
existing jbi endpoint with default activityRecovery settings, we get failure's
count = 1 in management API and an ERROR in logs. This is what's expected. So I
think masking the exception in this case is correct.
> Failure recovery doesn't work while no serviceendpoint is registered
> --------------------------------------------------------------------
>
> Key: ODE-527
> URL: https://issues.apache.org/jira/browse/ODE-527
> Project: ODE
> Issue Type: Bug
> Components: JBI Integration
> Affects Versions: 1.3
> Environment: Servicemix 3.3
> Reporter: Rafal Rusin
> Fix For: 1.3
>
> Attachments: failurerecovery.diff
>
>
> Given a process, which INVOKEs some unregistered service endpoint, I had an
> exception, which was occurring endlessly not regarding any activityRecovery
> settings, such as faultOnFailure=true.
> 12:10:01,683 | ERROR | pool-4-thread-1 | SimpleScheduler |
> duler.simple.SimpleScheduler$4 410 | Error while executing transaction
> org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> java.lang.RuntimeException: org.apache.ode.bpel.iapi.ContextException:
> Unknown endpoint: {ABC}Abc:default
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:425)
> at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:377)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:386)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:380)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:208)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:379)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:376)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.RuntimeException:
> org.apache.ode.bpel.iapi.ContextException: Unknown endpoint: {ABC}ABC:default
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:840)
> at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
> at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:211)
> at
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:384)
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:415)
> ... 11 more
> Caused by: org.apache.ode.bpel.iapi.ContextException: Unknown endpoint:
> {ABC}ABC:default
> at
> org.apache.ode.jbi.JbiEndpointReference.getServiceEndpoint(JbiEndpointReference.java:99)
> at
> org.apache.ode.jbi.JbiEndpointReference.toXML(JbiEndpointReference.java:64)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:759)
> at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> ... 17 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.