この記事は、Apache Tomcat 6.0.44, 7.0.69 またはそれ以降のバージョン(Tomcat 8 を含む)のユーザーに対して、Apache がこれらのバージョンのバグフィックスを発行した後の既知の問題についてのドキュメントです。
layout.parallel.render.enable=trueを設定した場合、Liferay Portal 6.2 のコンソールログに以下のエラーが表示される場合があります:
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap
at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:164)
at java.util.HashMap.putAll(HashMap.java:643)
at org.apache.catalina.util.ParameterMap.putAll(ParameterMap.java:186)
at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(ApplicationHttpRequest.java:739)
at org.apache.catalina.core.ApplicationHttpRequest.getParameter(ApplicationHttpRequest.java:376)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
at com.liferay.portlet.SecurityPortletContainerWrapper.hasAccessPermission(SecurityPortletContainerWrapper.java:337)
at com.liferay.portlet.SecurityPortletContainerWrapper.check(SecurityPortletContainerWrapper.java:209)
at com.liferay.portlet.SecurityPortletContainerWrapper.checkRender(SecurityPortletContainerWrapper.java:243)
at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:139)
at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:125)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:180)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1)
at com.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
at java.lang.Thread.run(Thread.java:745)
27-Oct-2017 06:54:45.570 SEVERE [RuntimePageImpl-3] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:889) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:575) ... 27-Oct-2017 06:54:45.584 SEVERE [RuntimePageImpl-4] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade at org.apache.catalina.connector.RequestFacade.getAttribute(RequestFacade.java:279) at org.apache.catalina.c
2つ目は、 CATALINA_OPTSで以下のJVM引数が設定されている場合に発生する可能性があります:
org.apache.catalina.connector.RECYCLE_FACADES=true
解像度
解決策としては、 portal-ext.propertiesで layout.parallel.render.enable= を false に設定することです。 このプロパティはすでに非推奨となっており、DXP 7.0のデフォルトではfalseに設定されています。
追加情報
この記事 を参照し、Apacheの詳細情報をご確認ください。