Payara 5 with DMN and de.odysseus.juel

We try to migrate from Payara 4 to Payara Server 5.194 #badassfish (build 327) (Jakarta EE 8)

We use DMN Tabels org/camunda/bpm/dmn/camunda-engine-dmn/7.12.0

org.camunda.bpm.dmn
imports de.odysseus.juel

juel-api-2.2.7.jar
juel-impl-2.2.7.jar
juel-spi-2.2.7.jar

If we put the juel jars into payara-5.194\glassfish\domains\domain1\lib OR deploy it within our .war we get the following Exception and Payara doesn’t start anymore.

[[2020-01-24]T10:22:28.024+0100] [Payara 5.194] [SCHWERWIEGEND] [AS-WEB-CORE-00175] [javax.enterprise.web.core] [tid: _ThreadID=157 _ThreadName=Thread-14] [timeMillis: 1579857748024] [levelValue: 1000] [[ Exception during cleanup after start failed org.apache.catalina.LifecycleException: Manager has not yet been started at org.apache.catalina.session.StandardManager.stop(StandardManager.java:868) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5940) at com.sun.enterprise.web.WebModule.stop(WebModule.java:648) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5756) at com.sun.enterprise.web.WebModule.start(WebModule.java:619) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:956) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1868) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123) [[2020-01-24]T10:22:28.030+0100] [Payara 5.194] [WARNUNG] [] [javax.enterprise.web] [tid: _ThreadID=157 _ThreadName=Thread-14] [timeMillis: 1579857748030] [levelValue: 900] [[ java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:960) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1868) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123) Critical error during deployment: java.lang.NullPointerException at javax.el.CompositeELResolver.add(CompositeELResolver.java:76) at com.sun.faces.el.DemuxCompositeELResolver.addRootELResolver(DemuxCompositeELResolver.java:118) at com.sun.faces.el.ELUtils.addEL3_0_Resolvers(ELUtils.java:312) at com.sun.faces.el.ELUtils.buildFacesResolver(ELUtils.java:234) at com.sun.faces.application.ApplicationAssociate.initializeELResolverChains(ApplicationAssociate.java:467) at com.sun.faces.application.applicationimpl.ExpressionLanguage.performOneTimeELInitialization(ExpressionLanguage.java:184) at com.sun.faces.application.applicationimpl.ExpressionLanguage.getELResolver(ExpressionLanguage.java:120) at com.sun.faces.application.ApplicationImpl.getELResolver(ApplicationImpl.java:213) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:5165) at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:683) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5738) at com.sun.enterprise.web.WebModule.start(WebModule.java:619) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:956) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1868) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123) Startup of context failed due to previous errors]]

If we exclude the lib in our pom.xml our application is not working:
<dependency>
<groupId>org.camunda.bpm.dmn </groupId>
<artifactId>camunda-engine-dmn</artifactId>
<version>7.12.0</version>
<exclusions>
<exclusion>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-api</artifactId>
</exclusion>
<exclusion>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-spi</artifactId>
</exclusion>
<exclusion>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-impl</artifactId>
</exclusion>
</exclusions>
</dependency>

Caused by: java.lang.Exception: java.lang.NoClassDefFoundError: de/odysseus/el/util/SimpleContext
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:208)
at org.glassfish.jersey.gf.ejb.internal.EjbComponentInterceptor.inject(EjbComponentInterceptor.java:50)
at sun.reflect.GeneratedMethodAccessor429.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:153)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.init(SystemInterceptorProxy.java:125)
at sun.reflect.GeneratedMethodAccessor368.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:998)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:204)
at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:998)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:417)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:380)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:2045)
at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:466)
… 110 more
Caused by: java.lang.NoClassDefFoundError: de/odysseus/el/util/SimpleContext
at com.ekato.antos.adapter.dmn.DmnLoader.init(DmnLoader.java:36)
at com.ekato.antos.calc.constraint.component.AbstractConstraint.init(AbstractConstraint.java:57)
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:498)
at com.sun.ejb.containers.interceptors.BeanCallbackInterceptor.intercept(InterceptorManager.java:1047)
at com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
at com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:204)
… 133 more
Caused by: java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleContext
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1687)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1528)
… 142 more
]]

How about opening a ticket with Payara to ask them how to configure its module / class loading so a web app can use these jars?
I would also see if this helps https://docs.payara.fish/documentation/payara-server/classloading.html

Thanks for the answer. I’ll check with payara.

with the latest Payara version 5.201 the error does not occur anymore.

1 Like

Great! Then they must have upgraded to compatible library versions. Thanks for letting everyone know!