JDev version: 12.2.1.0.0
Server versions: Payara 4.1 and Payara 5.194
I know Payara 5.1 is not on the compatibility matrix, but the issue is occurring on both.
So I actually started off with JDev 12.2.1.4, but ran into the UserProfile exception reported by JFlack here: (which still has not been resolved)
After going back to JDev 12.2.1.0.0 to get around this bug, everything seemed to work fine in my simple servlet authentication app. I could login, navigate from the adfc-config task flow, and view the username of the authenticated session.
However now I am running into a separate issue. When I redeploy the application, I get this error the next time I try to access the application:
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
oracle.adf.controller.ControllerException: ADFC-00011: The ADF Controller is unable to create an MDSSession. See exception for details.
note The full stack traces of the exception and its root causes are available in the Payara Server 4.1.2.181 #badassfish logs.
Payara Server 4.1.2.181 #badassfish
and in the server logs:
[2020-02-24T11:16:21.731-0600] [Payara 4.1] [INFO] [] [oracle.adf.share.config.ADFContextMDSConfigHelperImpl] [tid: _ThreadID=25 _ThreadName=http-thread-pool::http-listener-1(2)] [timeMillis: 1582564581731] [levelValue: 800] [[
java.lang.NullPointerException
at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.createMDSSession(ADFContextMDSConfigHelperImpl.java:68)
at oracle.adf.share.ADFContext.getMDSSessionAsObject(ADFContext.java:2214)
at oracle.adfinternal.controller.application.AdfcAppInitializer.checkForMds(AdfcAppInitializer.java:305)
at oracle.adfinternal.controller.application.AdfcAppInitializer.initialize(AdfcAppInitializer.java:169)
at oracle.adfinternal.controller.state.AdfcContext.initialize(AdfcContext.java:101)
at oracle.adfinternal.controller.state.AdfcContext.initialize(AdfcContext.java:82)
at oracle.adfinternal.controller.application.WindowLifecycleLogic.windowOpened(WindowLifecycleLogic.java:60)
at oracle.adfinternal.controller.application.AdfcWindowLifecycleListener.windowOpened(AdfcWindowLifecycleListener.java:60)
at oracle.adfinternal.controller.application.AdfcWindowLifecycleListener.processWindowLifecylce(AdfcWindowLifecycleListener.java:42)
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManagerFactory$ApplicationWindowListeners.processWindowLifecylce(RichWindowManagerFactory.java:257)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager._fireWindowLifecycleEvent(ServletWindowManager.java:338)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager._handleWindowOpened(ServletWindowManager.java:371)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager.beginRequest(ServletWindowManager.java:901)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._beginWindowManagerRequest(GlobalConfiguratorImpl.java:762)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:225)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:184)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:166)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:483)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
at java.lang.Thread.run(Thread.java:748)
]]
[2020-02-24T11:16:21.778-0600] [Payara 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=25 _ThreadName=http-thread-pool::http-listener-1(2)] [timeMillis: 1582564581778] [levelValue: 900] [[
StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
oracle.adf.controller.ControllerException: ADFC-00011: The ADF Controller is unable to create an MDSSession. See exception for details.
at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:225)
at oracle.adfinternal.controller.application.AdfcAppInitializer.checkForMds(AdfcAppInitializer.java:313)
at oracle.adfinternal.controller.application.AdfcAppInitializer.initialize(AdfcAppInitializer.java:169)
at oracle.adfinternal.controller.state.AdfcContext.initialize(AdfcContext.java:101)
at oracle.adfinternal.controller.state.AdfcContext.initialize(AdfcContext.java:82)
at oracle.adfinternal.controller.application.WindowLifecycleLogic.windowOpened(WindowLifecycleLogic.java:60)
at oracle.adfinternal.controller.application.AdfcWindowLifecycleListener.windowOpened(AdfcWindowLifecycleListener.java:60)
at oracle.adfinternal.controller.application.AdfcWindowLifecycleListener.processWindowLifecylce(AdfcWindowLifecycleListener.java:42)
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManagerFactory$ApplicationWindowListeners.processWindowLifecylce(RichWindowManagerFactory.java:257)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager._fireWindowLifecycleEvent(ServletWindowManager.java:338)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager._handleWindowOpened(ServletWindowManager.java:371)
at oracle.adfinternal.view.faces.webapp.rich.ServletWindowManager.beginRequest(ServletWindowManager.java:901)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._beginWindowManagerRequest(GlobalConfiguratorImpl.java:762)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:225)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:184)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:166)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:483)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
at java.lang.Thread.run(Thread.java:748)
Caused by: oracle.adf.share.ADFShareException: ADFSHARE-00120: Error encountered while creating the MDS Session. Application state will be reset. Please logout and log back in if problem persists.
at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.createMDSSession(ADFContextMDSConfigHelperImpl.java:98)
at oracle.adf.share.ADFContext.getMDSSessionAsObject(ADFContext.java:2214)
at oracle.adfinternal.controller.application.AdfcAppInitializer.checkForMds(AdfcAppInitializer.java:305)
... 46 more
Caused by: java.lang.NullPointerException
at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.createMDSSession(ADFContextMDSConfigHelperImpl.java:68)
... 48 more
]]
=============================
If I restart the server, things begin to work properly again, and I don't get this message. This is obviously not going to work for a production environment, so I have been trying to figure out what is causing this, but I can't figure out why it is even trying to create an MDSSession. MDS is not included in ADF Essentials, so I can't see why it's trying to create a session for it. I do have the -Doracle.mds.cache=simple JVM option set. I have installed the adf-essentials libraries for 12.2.1.0.0 as instructed. I patched the javax.el.jar and javax.faces.jar files as mentioned by the documentation (https://docs.oracle.com/middleware/1221/adf/administer/GUID-FCF912A3-AE8B-48D6-8B64-ACB60147CE2E.htm#ADFAG20931).
I'm not sure where to turn to diagnose this. Any tips?
Thanks.