WebSphere Liberty BASE Remote EJB call failed in JDK 17

55 Views Asked by At

Here I'm trying to initiate a remote ejb call between two JavaEE applications which are deployed in two separate VMs, When I initiate remote ejb lookup from the primary JavaEE application following error trace will appear in the secondary server's console log.

[err] Exception in thread "Yoko:ThreadPerRequest:Dispatcher" 
[err] java.lang.NoClassDefFoundError: Could not initialize class org.apache.yoko.orb.OB.SendingContextRuntimes
[err]   at org.apache.yoko.orb.OB.CollocatedServer.send(CollocatedServer.java:231)
[err]   at org.apache.yoko.orb.OB.CollocatedServer.sendReceive(CollocatedServer.java:295)
[err]   at org.apache.yoko.orb.OB.CollocatedClient.sendReceive(CollocatedClient.java:144)
[err]   at org.apache.yoko.orb.OB.Downcall.request(Downcall.java:300)
[err]   at org.apache.yoko.orb.OB.DowncallStub.invoke(DowncallStub.java:615)
[err]   at org.apache.yoko.orb.CORBA.Delegate.invoke(Delegate.java:403)
[err]   at org.apache.yoko.orb.CORBA.Delegate.is_a(Delegate.java:252)
[err]   at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:54)
[err]   at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:68)
[err]   at org.apache.yoko.orb.CosNaming.tnaming2.NamingContextImpl$POAServant.resolveObject(NamingContextImpl.java:291)
[err]   at org.apache.yoko.orb.CosNaming.tnaming2.NamingContextBase.resolveContext(NamingContextBase.java:567)
[err]   at org.apache.yoko.orb.CosNaming.tnaming2.NamingContextBase.resolve(NamingContextBase.java:266)
[err]   at org.omg.CosNaming.NamingContextExtPOA._invoke(NamingContextExtPOA.java:366)
[err]   at org.apache.yoko.orb.OBPortableServer.ServantDispatcher.dispatch(ServantDispatcher.java:189)
[err]   at org.apache.yoko.orb.OBPortableServer.POA_impl._OB_dispatch(POA_impl.java:1245)
[err]   at org.apache.yoko.orb.OB.DispatchRequest_impl.invoke(DispatchRequest_impl.java:56)
[err]   at org.apache.yoko.orb.OB.DispatchThreadPerRequest_impl$Dispatcher.run(DispatchStrategyFactory_impl.java:70)
[err] Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "Default Executor-thread-19"]
[err]   at org.apache.yoko.rmi.impl.TypeRepository.get(TypeRepository.java:260)
[err]   at org.apache.yoko.rmi.impl.ValueHandlerImpl.<init>(ValueHandlerImpl.java:62)
[err]   at org.apache.yoko.rmi.impl.ValueHandlerImpl.<init>(ValueHandlerImpl.java:52)
[err]   at org.apache.yoko.rmi.impl.ValueHandlerImpl$HandlerHolder.<clinit>(ValueHandlerImpl.java:67)
[err]   at org.apache.yoko.rmi.impl.ValueHandlerImpl.get(ValueHandlerImpl.java:73)
[err]   at org.apache.yoko.rmi.impl.UtilImpl.createValueHandler(UtilImpl.java:460)
[err]   at javax.rmi.CORBA.Util.createValueHandler(Util.java:63)
[err]   at org.apache.yoko.orb.OB.SendingContextRuntimes.<clinit>(SendingContextRuntimes.java:30)
[err]   at org.apache.yoko.orb.OB.CollocatedServer.send(CollocatedServer.java:231)
[err]   at org.apache.yoko.orb.OB.CollocatedServer.sendReceive(CollocatedServer.java:295)
[err]   at org.apache.yoko.orb.OB.CollocatedClient.sendReceive(CollocatedClient.java:144)
[err]   at org.apache.yoko.orb.OB.Downcall.request(Downcall.java:300)
[err]   at org.apache.yoko.orb.OB.DowncallStub.invoke(DowncallStub.java:615)
[err]   at org.apache.yoko.orb.CORBA.Delegate.invoke(Delegate.java:403)
[err]   at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:81)
[err]   at com.ibm.ws.threading.internal.PolicyTaskFutureImpl.run(PolicyTaskFutureImpl.java:762)
[err]   at com.ibm.ws.threading.internal.PolicyExecutorImpl.runTask(PolicyExecutorImpl.java:1172)
[err]   at com.ibm.ws.threading.internal.PolicyExecutorImpl$GlobalPoolTask.run(PolicyExecutorImpl.java:198)
[err]   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[err]   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[err]   at java.base/java.lang.Thread.run(Thread.java:833)

Please note that both JavaEE applications are deployed in JDK 17 runtime and the remote ejb lookup will be performed as below,

Context ctx = new InitialContext(jndiProps);
Object remoteObj = ctx.lookup("corbaname:iiop:10.0.0.127:2809/NameService#ejb/global/app_server_2/RMS.jar/OMSCoreServicesBean#com.dfn.oms.newgen.core.tx.service.OMSCoreServicesWrapperRemote");
return (OMSCoreServicesWrapperRemote) PortableRemoteObject.narrow(remoteObj, OMSCoreServicesWrapperRemote.class);

Can someone suggest a way to fix this issue?

1

There are 1 best solutions below

0
Joe Chacko On

This could be a problem with module access in Java 17.

  • Is there any more stack trace?
  • Are there any other error or warning messages?
  • Is there a logs/ffdc folder in your server directory that contains more information?

If we can figure out some missing module access, we can add it locally it for your server.