Unable to locate implementation of PegaRULES Engine class for EngineBMT
I'm trying to get Pega running with Websphere Liberty, we are also using MDB LIsteners and I have an issue with this, in our logs I get the following error:
I'm trying to get Pega running with Websphere Liberty, we are also using MDB LIsteners and I have an issue with this, in our logs I get the following error:
[7/15/19 15:24:23:542 CEST] 00000082 com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime I CNTR0167I: The server is binding the com.pega.pegarules.internal.etier.interfaces.EngineHome interface of the EngineCMT enterprise bean i
n the prbeans.jar module of the prpc_j2ee14_ws application. The binding location is: java:global/prpc_j2ee14_ws/prbeans/EngineCMT!com.pega.pegarules.internal.etier.interfaces.EngineHome
[7/15/19 15:24:23:543 CEST] 00000082 com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime I CNTR0167I: The server is binding the com.pega.pegarules.internal.etier.interfaces.EngineLocalHome interface of the EngineCMT enterprise b
ean in the prbeans.jar module of the prpc_j2ee14_ws application. The binding location is: java:global/prpc_j2ee14_ws/prbeans/EngineCMT!com.pega.pegarules.internal.etier.interfaces.EngineLocalHome
[7/15/19 15:24:23:543 CEST] 00000082 com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime I CNTR0167I: The server is binding the com.pega.pegarules.internal.etier.interfaces.EngineHome interface of the EngineBMT enterprise bean i
n the prbeans.jar module of the prpc_j2ee14_ws application. The binding location is: java:global/prpc_j2ee14_ws/prbeans/EngineBMT!com.pega.pegarules.internal.etier.interfaces.EngineHome
[7/15/19 15:24:23:544 CEST] 00000082 com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime I CNTR0167I: The server is binding the com.pega.pegarules.internal.etier.interfaces.EngineLocalHome interface of the EngineBMT enterprise b
ean in the prbeans.jar module of the prpc_j2ee14_ws application. The binding location is: java:global/prpc_j2ee14_ws/prbeans/EngineBMT!com.pega.pegarules.internal.etier.interfaces.EngineLocalHome
[7/15/19 15:24:23:544 CEST] 00000082 com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime I CNTR0167I: The server is binding the com.pega.pegarules.internal.etier.interfaces.LockManagerLocalHome interface of the LockManager enter
prise bean in the prbeans.jar module of the prpc_j2ee14_ws application. The binding location is: java:global/prpc_j2ee14_ws/prbeans/LockManager!com.pega.pegarules.internal.etier.interfaces.LockManagerLocalHome
[7/15/19 15:24:47:033 CEST] 000000fd com.ibm.ws.logging.internal.impl.IncidentImpl I FFDC1015I: An FFDC Incident has been created: "java.lang.ClassNotFoundException: com.sun.jndi.url.ejblocal.ejblocalURLContextFactory com.
ibm.ws.jndi.internal.WASURLObjectFactoryFinder.findFactory 74" at ffdc_19.07.15_ Proprietary information hidden.log
[7/15/19 15:24:47:064 CEST] 000000fd com.ibm.ws.logging.internal.impl.IncidentImpl I FFDC1015I: An FFDC Incident has been created: "javax.naming.NameNotFoundException: Intermediate context does not exist: ejblocal:ejb/PREn
gineBMT com.ibm.ws.injectionengine.osgi.internal.IndirectJndiLookupObjectFactory 169" at ffdc_19.07.15_ Proprietary information hidden.log
[7/15/19 15:24:47:086 CEST] 000000fd com.ibm.ws.logging.internal.impl.IncidentImpl I FFDC1015I: An FFDC Incident has been created: "com.ibm.wsspi.injectionengine.InjectionException: CWNEN0030E: The server was unable to obt
ain an object instance for the java:comp/env/ejb/EngineBMTLocal reference. The exception message was: CWNEN1003E: The server was unable to find the ejblocal:ejb/PREngineBMT binding with the com.pega.pegarules.internal.etier.interfaces.E
ngineLocalHome type for the java:comp/env/ejb/EngineBMTLocal reference. com.ibm.ws.ejb.injection.processor.EJBInjectionBinding.getInjectionObject 516" at ffdc_19.07.15_ Proprietary information hidden.log
[7/15/19 15:24:47:113 CEST] 000000fd com.ibm.ws.logging.internal.impl.IncidentImpl I FFDC1015I: An FFDC Incident has been created: "com.ibm.wsspi.injectionengine.InjectionException: CWNEN0030E: The server was unable to obt
ain an object instance for the java:comp/env/ejb/EngineBMT reference. The exception message was: CWNEN1003E: The server was unable to find the ejb/PREngineBMT binding with the com.pega.pegarules.internal.etier.interfaces.EngineHome type
for the java:comp/env/ejb/EngineBMT reference. com.ibm.ws.ejb.injection.processor.EJBInjectionBinding.getInjectionObject 516" at ffdc_19.07.15_ Proprietary information hidden.log
[7/15/19 15:42:23:310 CEST] 0000018d SystemOut O 2019-07-15 15:42:23,309 [Executor-thread-6503] [ ] [ ] [ ] ( etier.mdb.PRJMSListener
) ERROR - PRPC Engine invocation failed, javax.ejb.EJBException: Unable to locate implementation of PegaRULES Engine class for EngineBMT
[7/15/19 15:42:23:310 CEST] 00001c20 com.pega.pegarules.internal.bootstrap.PRBootstrap E Problem during method invocation (onMessage)
javax.ejb.EJBException: Unable to locate implementation of PegaRULES Engine class for EngineBMT
[7/15/19 15:42:23:322 CEST] 00001c20 pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega E Problem during method invocation (onMessage)
javax.ejb.EJBException: Unable to locate implementation of PegaRULES Engine class for EngineBMT
[7/15/19 15:42:23:336 CEST] 00001c20 com.ibm.ejs.container.LocalExceptionMappingStrategy E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "onMessage" on bean "BeanId(prpc_j2ee14_ws#CnvMQI
banServices.jar#CnvMQIbanServices, null)". Exception data: java.lang.RuntimeException: Problem during method invocation (onMessage)
Caused by: javax.ejb.EJBException: Unable to locate implementation of PegaRULES Engine class for EngineBMT
In my server.xml I have the following features enabled:
<feature>webProfile-8.0</feature>
<feature>localConnector-1.0</feature>
<feature>ssl-1.0</feature>
<feature>ejb-3.2</feature>
<feature>ejbLite-3.2</feature>
<feature>ejbRemote-3.2</feature>
<feature>jndi-1.0</feature>
<feature>jms-2.0</feature>
<feature>jaxws-2.2</feature>
<feature>jaxb-2.2</feature>
<feature>restConnector-2.0</feature>
<feature>wmqJmsClient-2.0</feature>
<feature>jmsMdb-3.2</feature>
And in the prconfig.xml that is in the file prpc_j2ee14_ws.ear > APP-INF > lib > prrescoures.jar I have added the following:
<env name="classloader/classpath" value="/opt/wlp/ Proprietary information hidden/usr/shared/resources/runtimes/com.ibm.ws.ejb.thinclient_8.5.0.jar"/>
To fix this issue: https://community.pega.com/support/support-articles/classnotfoundexception-when-setting-jndi-server
Any idea how to fix this?