We are running payara 5 in an OpenShift Cluster where we use the Source-To-Image strategy. During the build phase the application image is copied into the autodeploy folder.
After starting the container we can see that the server starts the deployment of our application.
At a first glance everything looks fine. But we recognized that the deployed JSF application is not working correctly.
We found out that all web-fragments located in the /WEB-INF/lib directory will be ignored and the resources (like css or js files) are not available for the JSF application. A typical log message, we can see during deployment in your payara log file, looks like this:
2021-10-17T22:47:43.684+0200|WARNING|Payara 5.201|org.glassfish.grizzly.config.GenericGrizzlyListener|_ThreadID=20;_ThreadName=RunLevelControllerThread-1634503650671;_TimeMillis=1634503663684;_LevelValue=900;| Unable to construct HTTP/2 Addon java.lang.NoClassDefFoundError: org/glassfish/grizzly/npn/AlpnServerNegotiator at org.glassfish.grizzly.config.GenericGrizzlyListener.configureHttp2Support(GenericGrizzlyListener.java:806) .... ...... Caused by: java.lang.ClassNotFoundException: org.glassfish.grizzly.npn.AlpnServerNegotiator
The domain.xml file does not contain any das-config tag. I guess the following tag would be necessary for the deployment via the autodeploy folder:
<das-config dynamic-reload-enabled="true" autodeploy-enabled="true"></das-config>
Is this correct?
What else could be the reason that JSF web fragments are missing after deployment? EJBs and CDI beans seems to be deployed correctly.