Overview
On Aurea Process 2020 SP1 with TomEE, you are attempting to get a data slot value using the Process Instance API method getDataSlotValue() and are getting a Failed to lookup from JNDI server error like the one below:
com.savvion.sbm.bizlogic.util.BizLogicClientException: (1527) Failed to look-up <TestApplication#282> from JNDI service.
at com.savvion.sbm.bizlogic.server.svo.ProcessInstance.findRemoteRef(ProcessInstance.java:533)
at com.savvion.sbm.bizlogic.server.svo.BLProcess.getRemoteRef(BLProcess.java:366)
at com.savvion.sbm.bizlogic.server.svo.ProcessInstance.activate(ProcessInstance.java:560)
at com.savvion.test.CreatePIAdapter.newInstance(CreatePIAdapter.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.savvion.sbm.bizlogic.server.EPManager.invokePerformingMethod(EPManager.java:1182)
at com.savvion.sbm.bizlogic.server.EPManager.invokeAdapter(EPManager.java:579)
at com.savvion.sbm.bizlogic.server.EPManager.processAdapter(EPManager.java:533)
at com.savvion.sbm.bizlogic.server.EPManager.executeUT(EPManager.java:503)
at com.savvion.sbm.bizlogic.server.AdapterRunner.processAdapter(AdapterRunner.java:146)
at com.savvion.sbm.bizlogic.server.AdapterRunner.executeUsingUT(AdapterRunner.java:76)
at com.savvion.sbm.bizlogic.server.ejb.BLAdapterMDB.onMessage(BLAdapterMDB.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
at org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
at org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:488)
at org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:462)
at org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:233)
at org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:174)
at com.savvion.sbm.bizlogic.server.ejb.BLAdapterMDB$$LocalBeanProxy.onMessage(com/savvion/sbm/bizlogic/server/ejb/BLAdapterMDB.java)
at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
at org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)
at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.savvion.sbm.bizlogic.util.BizLogicClientException: (1527) Failed to look-up <com.savvion.sbm.bizlogic.server.ejb.ProcessInstanceSBHome> from JNDI service.
at com.savvion.sbm.bizlogic.server.svo.BLProcess.getRemoteRef(BLProcess.java:407)
at com.savvion.sbm.bizlogic.server.svo.BLProcess.getRemoteRef(BLProcess.java:380)
at com.savvion.sbm.bizlogic.server.svo.ProcessInstance.findRemoteRef(ProcessInstance.java:530)
... 42 more
Caused by: javax.naming.NameNotFoundException: Name "comp/env/ejb/com.savvion.sbm.bizlogic.server.ejb.ProcessInstanceSBHome" not found.
at org.apache.openejb.core.ivm.naming.IvmContext.federate(IvmContext.java:207)
at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:159)
at org.apache.openejb.core.ivm.ContextHandler.lookup(ContextHandler.java:58)
at org.apache.tomee.catalina.OpenEJBContext.lookup(OpenEJBContext.java:51)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:163)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at com.savvion.sbm.util.SBMHomeFactory.findHome(SBMHomeFactory.java:386)
at com.savvion.sbm.util.SBMHomeFactory.lookupHome(SBMHomeFactory.java:250)
at com.savvion.sbm.bizlogic.server.svo.BLProcess.getRemoteRef(BLProcess.java:398)
... 44 more
Solution
This issue has already been identified and fixed with Hotfix 2 for Aurea Process 2020 SP1. Please apply Hotfix 2 to your Aurea Process 2020 SP1 to resolve this issue.
Testing
Once Hotfix 2 is applied to the Aurea Process 2020 SP1 with the TomEE server, calls to the Process Instance API method getDataSlotValues() will complete as expected.