留言板
LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Michael Scholz,修改在9 年前。
LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hello together,
we try to get Liferay 6.1.3 with Liferay Faces and CDI Portlet Bridge running within JBoss EAP 6.3.1.
Everything worked fine with EAP 6.1.1, but after the upgrade, we face the following Exception when rendering JSF Portlets:
A little debugging showed, that the WeldListener maintains a "BeanStore" within a ThreadLocal which seems to be null-ed (or never initialized) before the shown call.
We found the some work was done in Weld about cross-context handling between JBoss EAP 6.1.1 and 6.3.1 and think that this might be an issue.
Does anybody know something about this problem or does anybody have an idea for a workaround? Is there may some SNAPSHOT version of Liferay Faces or CDI portlet bridge that already deals with the problem?
Kind regards,
Michael
we try to get Liferay 6.1.3 with Liferay Faces and CDI Portlet Bridge running within JBoss EAP 6.3.1.
Everything worked fine with EAP 6.1.1, but after the upgrade, we face the following Exception when rendering JSF Portlets:
12:05:09,645 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/PlatformArchitectureReferenceProcess]] (http-/0.0.0.0:8180-4) JBWEB000238: Exception sending request destroyed lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.NullPointerException
at org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:71) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1]
at org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:68) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1]
at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:147) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:892) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:599)
at com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:694)
at com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:460)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:1080)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:735)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:266)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:182)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:559)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:536)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:314)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:46)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:85) [portal-service.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:314)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:259)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:84)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:46)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:250)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) [portal-service.jar:]
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:191)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) [portal-service.jar:]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:85) [portal-service.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:420) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.9.Final-redhat-1.jar:7.4.9.Final-redhat-1]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
A little debugging showed, that the WeldListener maintains a "BeanStore" within a ThreadLocal which seems to be null-ed (or never initialized) before the shown call.
We found the some work was done in Weld about cross-context handling between JBoss EAP 6.1.1 and 6.3.1 and think that this might be an issue.
Does anybody know something about this problem or does anybody have an idea for a workaround? Is there may some SNAPSHOT version of Liferay Faces or CDI portlet bridge that already deals with the problem?
Kind regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
What is the version of Weld that comes bundled with EAP 6.3.1? As a workaround, you might want to try downgrading to the version that comes bundled with EAP 6.1.1.
Kind Regards,
Neil
What is the version of Weld that comes bundled with EAP 6.3.1? As a workaround, you might want to try downgrading to the version that comes bundled with EAP 6.1.1.
Kind Regards,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
the Weld Version is 1.1.23.
We'll also give the downgrade a try but would prefer (due to Support issues) to have the official Version running some day ;)
Best regards,
Michael
the Weld Version is 1.1.23.
We'll also give the downgrade a try but would prefer (due to Support issues) to have the official Version running some day ;)
Best regards,
Michael
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi again,
the downgrade did the Job.
Nevertheless - we would prefer of course "enhanced compatibilty" of Liferay Faces in future Version.
Are there any plans for this already?
Regards,
Michael
the downgrade did the Job.
Nevertheless - we would prefer of course "enhanced compatibilty" of Liferay Faces in future Version.
Are there any plans for this already?
Regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
Thanks for letting us know that the downgrade worked. I don't see any references to "com.liferay.faces" or "com.liferay.cdi" in the stacktrace. Do you think that this could be a regression bug in Weld?
Kind Regards,
Neil
Thanks for letting us know that the downgrade worked. I don't see any references to "com.liferay.faces" or "com.liferay.cdi" in the stacktrace. Do you think that this could be a regression bug in Weld?
Kind Regards,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
you are right - there is nothing to see in the original stacktrace.
I forgot to mention, that the show exception is a "follow-up effect" caused by an earlier call to WeldListener.requestDestroyed() (see below)
Here, the CDICrossContextFilter is at least involved. And it seems that the second call to WeldListener.requestDestroyed() runs into the NullPointerException, because there is nothing more to destroy.
I'm really not an expert regarding internals of JSF, Weld and Porlet stuff, so I can't really estimate where the problem is originally caused.
Is it a Weld bug? If yes, why doesn't it seem to affect other users? Does this only occur in Portlet environments? How to report a bug to Weld guys then?
These are all questions I cannot answer. I also created this issue at Liferay Faces forum because I know that you are the experts ;-) and might know already about this problem or estimate where to approach the problem.
Where would you suggest to continue? Maybe I can also do some more research if I know where I have to look.
Best regards,
Michael
you are right - there is nothing to see in the original stacktrace.
I forgot to mention, that the show exception is a "follow-up effect" caused by an earlier call to WeldListener.requestDestroyed() (see below)
Here, the CDICrossContextFilter is at least involved. And it seems that the second call to WeldListener.requestDestroyed() runs into the NullPointerException, because there is nothing more to destroy.
I'm really not an expert regarding internals of JSF, Weld and Porlet stuff, so I can't really estimate where the problem is originally caused.
Is it a Weld bug? If yes, why doesn't it seem to affect other users? Does this only occur in Portlet environments? How to report a bug to Weld guys then?
These are all questions I cannot answer. I also created this issue at Liferay Faces forum because I know that you are the experts ;-) and might know already about this problem or estimate where to approach the problem.
Where would you suggest to continue? Maybe I can also do some more research if I know where I have to look.
Best regards,
Michael
Daemon Thread [http-/0.0.0.0:8180-1] (Suspended (breakpoint at line 71 in org.jboss.weld.context.AbstractBoundContext))
org.jboss.weld.context.http.HttpRequestContextImpl(org.jboss.weld.context.AbstractBoundContext<s>).deactivate() line: 71
org.jboss.weld.context.http.HttpRequestContextImpl.deactivate() line: 68
org.jboss.weld.servlet.WeldListener.requestDestroyed(javax.servlet.ServletRequestEvent) line: 147
org.jboss.weld.servlet.WeldCrossContextFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 66
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.cdi.portlet.bridge.CDICrossContextFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 49
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 85
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 246
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
org.apache.catalina.core.ApplicationDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State) line: 832
org.apache.catalina.core.ApplicationDispatcher.doInclude(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 718
org.apache.catalina.core.ApplicationDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 655
com.liferay.portlet.InvokerPortletImpl.invoke(com.liferay.portal.kernel.portlet.LiferayPortletRequest, com.liferay.portal.kernel.portlet.LiferayPortletResponse, java.lang.String, java.util.List<!--? extends javax.portlet.filter.PortletFilter-->) line: 602
com.liferay.portlet.InvokerPortletImpl.invokeRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse) line: 675
com.liferay.portlet.InvokerPortletImpl.render(javax.portlet.RenderRequest, javax.portlet.RenderResponse) line: 382
html/portal/render_portlet.jsp line: 789
org.apache.jsp.html.portal.render_005fportlet_jsp(org.apache.jasper.runtime.HttpJspBase).service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 69
org.apache.jsp.html.portal.render_005fportlet_jsp(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.jasper.servlet.JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean) line: 365
org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean) line: 309
org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 242
org.apache.jasper.servlet.JspServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 295
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 73
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 85
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 246
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
org.apache.catalina.core.ApplicationDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State) line: 832
org.apache.catalina.core.ApplicationDispatcher.doInclude(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 718
org.apache.catalina.core.ApplicationDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 655
com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 55
com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(javax.servlet.ServletRequest, javax.servlet.ServletResponse, boolean) line: 78
com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 53
com.liferay.portal.util.PortalImpl.renderPortlet(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, com.liferay.portal.model.Portlet, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, boolean) line: 5788
sun.reflect.GeneratedMethodAccessor600.invoke(java.lang.Object, java.lang.Object[]) line: not available
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 43
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 606
com.liferay.portal.security.lang.DoPrivilegedHandler.doInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 88
com.liferay.portal.security.lang.DoPrivilegedHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 56
com.sun.proxy.$Proxy633.renderPortlet(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, com.liferay.portal.model.Portlet, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, boolean) line: not available
com.liferay.portal.util.PortalUtil.renderPortlet(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, com.liferay.portal.model.Portlet, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, boolean) line: 1640
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processPortlet(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.portlet.RenderRequest, javax.portlet.RenderResponse, com.liferay.portal.model.Portlet, java.lang.String, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, boolean) line: 181
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processPortlet(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, com.liferay.portal.model.Portlet, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, boolean) line: 112
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.doProcessTemplate(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String, java.lang.String) line: 536
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.doDispatch(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String, java.lang.String, boolean) line: 401
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processTemplate(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String, java.lang.String) line: 248
com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.processTemplate(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String) line: 235
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method]
sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 57
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 43
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 606
com.liferay.portal.security.lang.DoPrivilegedHandler.doInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 88
com.liferay.portal.security.lang.DoPrivilegedHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 56
com.sun.proxy.$Proxy641.processTemplate(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String) line: not available
com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext, javax.servlet.jsp.JspWriter, java.lang.String, java.lang.String) line: 126
html/portal/layout/view/portlet.jsp line: 67
org.apache.jsp.html.portal.layout.view.portlet_jsp(org.apache.jasper.runtime.HttpJspBase).service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 69
org.apache.jsp.html.portal.layout.view.portlet_jsp(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.jasper.servlet.JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean) line: 365
org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean) line: 309
org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 242
org.apache.jasper.servlet.JspServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 295
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 73
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 85
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 246
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
org.apache.catalina.core.ApplicationDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State) line: 832
org.apache.catalina.core.ApplicationDispatcher.doInclude(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 718
org.apache.catalina.core.ApplicationDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 655
com.liferay.portal.action.LayoutAction.includeLayoutContent(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, com.liferay.portal.theme.ThemeDisplay, com.liferay.portal.model.Layout) line: 494
com.liferay.portal.action.LayoutAction.processLayout(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, long) line: 751
com.liferay.portal.action.LayoutAction.execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 266
com.liferay.portal.struts.PortalRequestProcessor(org.apache.struts.action.RequestProcessor).processActionPerform(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.struts.action.Action, org.apache.struts.action.ActionForm, org.apache.struts.action.ActionMapping) line: 431
com.liferay.portal.struts.PortalRequestProcessor(org.apache.struts.action.RequestProcessor).process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 236
com.liferay.portal.struts.PortalRequestProcessor.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 182
com.liferay.portal.servlet.MainServlet(org.apache.struts.action.ActionServlet).process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 1196
com.liferay.portal.servlet.MainServlet(org.apache.struts.action.ActionServlet).doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 414
com.liferay.portal.servlet.MainServlet(javax.servlet.http.HttpServlet).service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 734
com.liferay.portal.servlet.MainServlet.callParentService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 559
com.liferay.portal.servlet.MainServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 536
com.liferay.portal.servlet.MainServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 295
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 73
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.servlet.filters.secure.SecureFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 314
com.liferay.portal.servlet.filters.secure.SecureFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 46
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 85
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 246
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
org.apache.catalina.core.ApplicationDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State) line: 832
org.apache.catalina.core.ApplicationDispatcher.processRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State) line: 620
org.apache.catalina.core.ApplicationDispatcher.doForward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 553
org.apache.catalina.core.ApplicationDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 482
com.liferay.portal.servlet.FriendlyURLServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 137
com.liferay.portal.servlet.FriendlyURLServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 847
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 295
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 73
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.servlet.filters.strip.StripFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 355
com.liferay.portal.servlet.filters.strip.StripFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.servlet.filters.gzip.GZipFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 123
com.liferay.portal.servlet.filters.gzip.GZipFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.secure.SecureFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 314
com.liferay.portal.servlet.filters.secure.SecureFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.i18n.I18nFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 259
com.liferay.portal.servlet.filters.i18n.I18nFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.servlet.filters.etag.ETagFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 84
com.liferay.portal.servlet.filters.etag.ETagFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 46
com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.autologin.AutoLoginFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 250
com.liferay.portal.servlet.filters.autologin.AutoLoginFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 83
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.sharepoint.SharepointFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.sharepoint.SharepointFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 88
com.liferay.portal.sharepoint.SharepointFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter(com.liferay.portal.kernel.servlet.BaseFilter).processFilter(java.lang.Class<!--?-->, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 169
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) line: 191
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter(com.liferay.portal.kernel.servlet.BaseFilter).doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 59
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(javax.servlet.Filter, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 188
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 96
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 738
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(javax.servlet.Filter, javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 207
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 109
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(javax.servlet.Filter, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 168
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 96
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(javax.servlet.Filter, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 168
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 96
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 117
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(javax.servlet.Filter, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) line: 188
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 96
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 85
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 246
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) line: 214
org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 231
org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 149
org.apache.catalina.authenticator.FormAuthenticator(org.apache.catalina.authenticator.AuthenticatorBase).invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 420
org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 50
org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 50
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 169
org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 145
org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 97
org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response) line: 102
org.apache.catalina.connector.CoyoteAdapter.service(org.apache.coyote.Request, org.apache.coyote.Response) line: 344
org.apache.coyote.http11.Http11Processor.process(java.net.Socket) line: 856
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(java.net.Socket) line: 653
org.apache.tomcat.util.net.JIoEndpoint$Worker.run() line: 926
java.lang.Thread.run() line: 744
</s>
Juan Gonzalez,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 3089 加入日期: 08-10-28 最近的帖子
Hi Michael,
I guess this is related to: https://www.liferay.com/community/forums/-/message_boards/view_message/31102970
For that, we made some investigations using latest Weld version at that moment (1.1.16).
These were my findings at that moment:
Can you try compiling Weld using this branch (Weld 1.1.16) I made some months ago and check if it fixes the Liferay+latest WELD versions?
https://github.com/juangon/core/commits/WELD_Liferay
Thanks.
I guess this is related to: https://www.liferay.com/community/forums/-/message_boards/view_message/31102970
For that, we made some investigations using latest Weld version at that moment (1.1.16).
These were my findings at that moment:
The JSF portlet doesn't render properly:
javax.portlet.faces.BridgeException: java.lang.IllegalStateException: Must call associate() before calling activate()
at com.liferay.faces.bridge.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:193)
at com.liferay.faces.bridge.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:85)
at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:112)
Seems the issue is caused by the inclusion of code from these two tasks :
https://issues.jboss.org/browse/WELD-1415
commit: https://github.com/weld/core/commit/a7582f78503ee563535d21d1d07a1e77e3834f71
and
https://issues.jboss.org/browse/WELD-1511
commit: https://github.com/weld/core/commit/3b7e1498fe2b0d4e876f3f1d31486dbc2a66bed7
Both conditions (isIncludeRequest and isForwardRequest) returns true.
Can you try compiling Weld using this branch (Weld 1.1.16) I made some months ago and check if it fixes the Liferay+latest WELD versions?
https://github.com/juangon/core/commits/WELD_Liferay
Thanks.
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Juan,
it took some time, but finally we could test what asked for with the patched Weld 1.1.16.
It can tell, that it does not change anything - we face the same behavior and exception as with Weld 1.1.23 from EAP 6.3.1
Best regards,
Michael
it took some time, but finally we could test what asked for with the patched Weld 1.1.16.
It can tell, that it does not change anything - we face the same behavior and exception as with Weld 1.1.23 from EAP 6.3.1
Best regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
Will JBoss EAP 6.3.0 be sufficient for our testing? That's the newest version available from the JBoss EAP - Downloads page (at the time of this writing).
Kind Regards,
Neil
Will JBoss EAP 6.3.0 be sufficient for our testing? That's the newest version available from the JBoss EAP - Downloads page (at the time of this writing).
Kind Regards,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
EAP 6.3.1 is in fact the EAP 6.3.0 available on the donwload page with "Patch 1" applied.
It should be available on the page within a separate tab.
This is at least what we did.
Kind regards,
Michael
EAP 6.3.1 is in fact the EAP 6.3.0 available on the donwload page with "Patch 1" applied.
It should be available on the page within a separate tab.
This is at least what we did.
Kind regards,
Michael
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hey guys,
just wanted to ask if you have any news from here?
Could you reproduce the problem?
Any ideas what we could currently do?
Best regards,
Michael
just wanted to ask if you have any news from here?
Could you reproduce the problem?
Any ideas what we could currently do?
Best regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
Did you mean Liferay 6.1.2? That is the newest CE version available at Maven Central.
Otherwise, are you a Liferay EE customer? If yes, perhaps you meant Liferay 6.1.30?
In any case, I just checked our support matrix and Liferay 6.1 EE is only certified for use on JBoss EAP 5.1. There is a degree of support for JBoss EAP 6.0, but not in domain mode.
Liferay 6.2 EE is supported on EAP 6.0 and EAP 6.1 but not EAP 6.3.
Given these support constraints, the best we were able to do was to upgrade the Liferay 6.1 + JBoss AS 7.1.1 bundle. When we tried the jsf2-cdi-portlet with Weld 1.1.23, we were able to reproduce the NullPointerException during WeldListener.requestDestroyed() that you reported at the beginning of this thread.
I'll report back after we have more information.
Best Regards,
Neil
Michael Scholz:
we try to get Liferay 6.1.3 with Liferay Faces and CDI Portlet Bridge running within JBoss EAP 6.3.1.
Did you mean Liferay 6.1.2? That is the newest CE version available at Maven Central.
Otherwise, are you a Liferay EE customer? If yes, perhaps you meant Liferay 6.1.30?
In any case, I just checked our support matrix and Liferay 6.1 EE is only certified for use on JBoss EAP 5.1. There is a degree of support for JBoss EAP 6.0, but not in domain mode.
Liferay 6.2 EE is supported on EAP 6.0 and EAP 6.1 but not EAP 6.3.
Given these support constraints, the best we were able to do was to upgrade the Liferay 6.1 + JBoss AS 7.1.1 bundle. When we tried the jsf2-cdi-portlet with Weld 1.1.23, we were able to reproduce the NullPointerException during WeldListener.requestDestroyed() that you reported at the beginning of this thread.
I'll report back after we have more information.
Best Regards,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
sorry about the confusion with the versions.
In fact we are currently using Liferay 6.1.30.
We are currently doing evaluations for a possible version upgrade of Liferay and JBoss and one of our scenarios was testing EAP 6.3.1 with Liferay 6.1.30.
I must admit that we forgot to check the compatibility matrix when making our tests, so I'm sad to hear that our desired scenario is not supported.
I hoped that at least Liferay 6.2 will provide support for EAP 6.3.
From this point of view, this issue is somehow obsolete - sorry about that.
Do you have any idea, in which Liferay version there might be support for EAP 6.3? We are using EAP 6.3 also in other in-house implementations and would like to consolidate all implementations (including the Liferay stack) to run on the same version.
Best regards,
Michael
sorry about the confusion with the versions.
In fact we are currently using Liferay 6.1.30.
We are currently doing evaluations for a possible version upgrade of Liferay and JBoss and one of our scenarios was testing EAP 6.3.1 with Liferay 6.1.30.
I must admit that we forgot to check the compatibility matrix when making our tests, so I'm sad to hear that our desired scenario is not supported.
I hoped that at least Liferay 6.2 will provide support for EAP 6.3.
From this point of view, this issue is somehow obsolete - sorry about that.
Do you have any idea, in which Liferay version there might be support for EAP 6.3? We are using EAP 6.3 also in other in-house implementations and would like to consolidate all implementations (including the Liferay stack) to run on the same version.
Best regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子Michael Scholz:
From this point of view, this issue is somehow obsolete - sorry about that.
No problem at all -- I think at this point we will keep our internal CDI 1.0 testing of Liferay Faces at Weld 1.1.10.
Michael Scholz:
Do you have any idea, in which Liferay version there might be support for EAP 6.3? We are using EAP 6.3 also in other in-house implementations and would like to consolidate all implementations (including the Liferay stack) to run on the same version.
I don't know the answer, but if you open a ticket in LESA then the Liferay EE support engineers might be able to provide you with more information about whether or not the support matrix will be expanded to cover EAP 6.3.
Best Regards,
Neil
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
FWIW, I wanted to mention that we spent a little bit more time on the stacktrace you reported:
And determined that if the following is removed from WEB-INF/web.xml:
Then the stacktrace disappeared. The problem was that the Weld HttpRequestContextImpl.deactivate() method was being called twice. The first call was caused by the WeldCrossContextFilter.doFilter() (which simulates a request destroyed ServletContextEvent) to WeldListener.requestDestroyed() :
And the second time was caused by the normal (non-cross-context) call to WeldListener.requestDestroyed():
Just a guess, but it might be that some changes were made to the internal design of Weld 1.x such that the WeldCrossContextFilter is not necessary for Liferay Portlets + Weld 1.1.23 (and newer, at least up to 1.1.26).
Best Regards,
Neil
FWIW, I wanted to mention that we spent a little bit more time on the stacktrace you reported:
12:05:09,645 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/PlatformArchitectureReferenceProcess]] (http-/0.0.0.0:8180-4) JBWEB000238: Exception sending request destroyed lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.NullPointerException
at org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:71) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1]
And determined that if the following is removed from WEB-INF/web.xml:
<filter>
<filter-name>WeldCrossContextFilter</filter-name>
<filter-class>org.jboss.weld.servlet.WeldCrossContextFilter</filter-class>
</filter>
Then the stacktrace disappeared. The problem was that the Weld HttpRequestContextImpl.deactivate() method was being called twice. The first call was caused by the WeldCrossContextFilter.doFilter() (which simulates a request destroyed ServletContextEvent) to WeldListener.requestDestroyed() :
HttpRequestContextImpl(AbstractBoundContext<s>).deactivate() line: 71
HttpRequestContextImpl.deactivate() line: 77
WeldListener.requestDestroyed(ServletRequestEvent) line: 147
WeldCrossContextFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 66
InvokerFilterChain.processDoFilter(Filter, ServletRequest, ServletResponse) line: 207
InvokerFilterChain.doFilter(ServletRequest, ServletResponse) line: 109
CDICrossContextFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 49
InvokerFilterChain.processDoFilter(Filter, ServletRequest, ServletResponse) line: 207
InvokerFilterChain.doFilter(ServletRequest, ServletResponse) line: 109
InvokerFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 79
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 280 </s>
And the second time was caused by the normal (non-cross-context) call to WeldListener.requestDestroyed():
HttpRequestContextImpl(AbstractBoundContext<s>).deactivate() line: 71
HttpRequestContextImpl.deactivate() line: 77
WeldListener.requestDestroyed(ServletRequestEvent) line: 147
ApplicationDispatcher.invoke(ServletRequest, ServletResponse, ApplicationDispatcher$State) line: 907
ApplicationDispatcher.doInclude(ServletRequest, ServletResponse) line: 720
ApplicationDispatcher.include(ServletRequest, ServletResponse) line: 657
InvokerPortletImpl.invoke(LiferayPortletRequest, LiferayPortletResponse, String, List<portletfilter>) line: 602
InvokerPortletImpl.invokeRender(RenderRequest, RenderResponse) line: 675
InvokerPortletImpl.render(RenderRequest, RenderResponse) line: 382
render_005fportlet_jsp._jspService(HttpServletRequest, HttpServletResponse) line: 1194
render_005fportlet_jsp(HttpJspBase).service(HttpServletRequest, HttpServletResponse) line: 70
render_005fportlet_jsp(HttpServlet).service(ServletRequest, ServletResponse) line: 847
JspServletWrapper.service(HttpServletRequest, HttpServletResponse, boolean) line: 369
JspServlet.serviceJspFile(HttpServletRequest, HttpServletResponse, String, Throwable, boolean) line: 326
JspServlet.service(HttpServletRequest, HttpServletResponse) line: 253
JspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 847
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 329</portletfilter></s>
Just a guess, but it might be that some changes were made to the internal design of Weld 1.x such that the WeldCrossContextFilter is not necessary for Liferay Portlets + Weld 1.1.23 (and newer, at least up to 1.1.26).
Best Regards,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
thank you very much for the further feedback and investigations :-D
I also saw that the requestDestroyed() is called twice (see my postings above) but I did not understand why.
As one of the participants was the CDICrossContextFilter, I thought that the problem might be somewhere within the portlet bridge.
You did now mention the WeldCrossContextFilter could be the reason.
Just for my technical understanding - what is the exact task of this class? It is still there within newer Weld versions, so it seems to have it's reason of existence.
Kind regards,
Michael
thank you very much for the further feedback and investigations :-D
I also saw that the requestDestroyed() is called twice (see my postings above) but I did not understand why.
As one of the participants was the CDICrossContextFilter, I thought that the problem might be somewhere within the portlet bridge.
You did now mention the WeldCrossContextFilter could be the reason.
Just for my technical understanding - what is the exact task of this class? It is still there within newer Weld versions, so it seems to have it's reason of existence.
Kind regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
I did not investigate why the WeldCrossContextFilter was no longer necessary in these newer versions of Weld. In reality the WeldCrossContextFilter should still be necessary. For an explanation as to why, I recommend that you read the description (and all of the comments) on FACES-146.
Newer versions of Weld must be invoking WeldListener.requestDestroyed(ServletRequestEvent) in a different manner (that does not require a synthetic/simulated invocation via the WeldCrossContextFilter) when the request is complete.
Kind Regards,
Neil
Michael Scholz:
I also saw that the requestDestroyed() is called twice (see my postings above) but I did not understand why.
As one of the participants was the CDICrossContextFilter, I thought that the problem might be somewhere within the portlet bridge.
You did now mention the WeldCrossContextFilter could be the reason.
Just for my technical understanding - what is the exact task of this class? It is still there within newer Weld versions, so it seems to have it's reason of existence.
I did not investigate why the WeldCrossContextFilter was no longer necessary in these newer versions of Weld. In reality the WeldCrossContextFilter should still be necessary. For an explanation as to why, I recommend that you read the description (and all of the comments) on FACES-146.
Newer versions of Weld must be invoking WeldListener.requestDestroyed(ServletRequestEvent) in a different manner (that does not require a synthetic/simulated invocation via the WeldCrossContextFilter) when the request is complete.
Kind Regards,
Neil
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
I just deployed the jsf2-cdi-portlet.war demo on JBoss AS without the cdi-portlet-bridge-shared.jar dependency, and without the extra stuff added to WEB-INF/web.xml and WEB-INF/portlet.xml as specified in the Developing JSF Portlets with CDI wiki article.
The good news is that the portlet worked OK. So when you get a chance, I would be interested to know -- if you were to do the same in one of the portlets in your environment, does it work OK without cdi-portlet-bridge-shared.jar?
Thank you,
Neil
I just deployed the jsf2-cdi-portlet.war demo on JBoss AS without the cdi-portlet-bridge-shared.jar dependency, and without the extra stuff added to WEB-INF/web.xml and WEB-INF/portlet.xml as specified in the Developing JSF Portlets with CDI wiki article.
The good news is that the portlet worked OK. So when you get a chance, I would be interested to know -- if you were to do the same in one of the portlets in your environment, does it work OK without cdi-portlet-bridge-shared.jar?
Thank you,
Neil
Michael Scholz,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Junior Member 帖子: 47 加入日期: 13-9-3 最近的帖子
Hi Neil,
I made some tests with our application and can report that everything seems to work fine also here.
Nevertheless there is one major drawback:
You might remember LPS-48810 where I have added a contribution to provide a @PortletSessionScoped CDI context.
This implementation is built on top of the CDI-Shared-Bridge.
As we needed this feature rather soon, we have internally built an addon to the offical CDI-Shared-Bridge 6.2.0.2 which also provides such a scope.
As a result, I was of course no longer able to use this scope in our current portlets. Unfortunately this would cause some major drawbacks in our application.
One possible solution would be to evaluate, if there is a way to implement @PortletSessionScoped in a standalone way without a dependency to the CDI-Shared-Bridge, but to figure this out I would have to dive more deeply into the code (which is currently not possible due to lack of time).
BTW - to give you the whole picture: Before having @PortletSessionScoped, we tried to use the CDI @ConversationScoped annotation together with the CDI-Shared-Bridge, but this did not really work for our scenario - see this other thread
Kind regards,
Michael
I made some tests with our application and can report that everything seems to work fine also here.
Nevertheless there is one major drawback:
You might remember LPS-48810 where I have added a contribution to provide a @PortletSessionScoped CDI context.
This implementation is built on top of the CDI-Shared-Bridge.
As we needed this feature rather soon, we have internally built an addon to the offical CDI-Shared-Bridge 6.2.0.2 which also provides such a scope.
As a result, I was of course no longer able to use this scope in our current portlets. Unfortunately this would cause some major drawbacks in our application.
One possible solution would be to evaluate, if there is a way to implement @PortletSessionScoped in a standalone way without a dependency to the CDI-Shared-Bridge, but to figure this out I would have to dive more deeply into the code (which is currently not possible due to lack of time).
BTW - to give you the whole picture: Before having @PortletSessionScoped, we tried to use the CDI @ConversationScoped annotation together with the CDI-Shared-Bridge, but this did not really work for our scenario - see this other thread
Kind regards,
Michael
Neil Griffin,修改在9 年前。
RE: LiferayFaces within JBoss EAP 6.3.1: NPE when rendering portlets
Liferay Legend 帖子: 2655 加入日期: 05-7-27 最近的帖子
Hi Michael,
Thanks so much for letting us know that things work well in your environment without the cdi-portlet-bridge-shared.jar dependency.
Regarding @PortletSessionScoped, I would like to say again that it is a very valuable contribution. But due to our current release cycle, we probably won't be able to merge your contribution in LPS-48810 in a timely manner. Because of this, I recommend that you try to implement the idea that you mentioned here:
Kind Regards,
Neil
Thanks so much for letting us know that things work well in your environment without the cdi-portlet-bridge-shared.jar dependency.
Regarding @PortletSessionScoped, I would like to say again that it is a very valuable contribution. But due to our current release cycle, we probably won't be able to merge your contribution in LPS-48810 in a timely manner. Because of this, I recommend that you try to implement the idea that you mentioned here:
Michael Scholz:
One possible solution would be to evaluate, if there is a way to implement @PortletSessionScoped in a standalone way without a dependency to the CDI-Shared-Bridge.
Kind Regards,
Neil