Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading UIComponent.popComponentFromEL处的螺纹卡住_Multithreading_Jsf_Jsf 2_Primefaces_Components - Fatal编程技术网

Multithreading UIComponent.popComponentFromEL处的螺纹卡住

Multithreading UIComponent.popComponentFromEL处的螺纹卡住,multithreading,jsf,jsf-2,primefaces,components,Multithreading,Jsf,Jsf 2,Primefaces,Components,我的应用程序使用JSF2.1和PrimeFaces。最近,由于一些线程卡住,观察到非常高的CPU利用率。指向javax.faces.component.UIComponent.popComponentFromEL的所有卡住线程的卡住线程转储,如下所示: javax.faces.component.UIComponent.popComponentFromEL(UIComponent.java:1934) javax.faces.component.UIComponent.visitTree(UIC

我的应用程序使用JSF2.1和PrimeFaces。最近,由于一些线程卡住,观察到非常高的CPU利用率。指向
javax.faces.component.UIComponent.popComponentFromEL的所有卡住线程的卡住线程转储,如下所示:

javax.faces.component.UIComponent.popComponentFromEL(UIComponent.java:1934)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1633)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
org.primefaces.component.api.UIData.visitRows(UIData.java:741)
org.primefaces.component.api.UIData.visitTree(UIData.java:656)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
org.primefaces.component.accordionpanel.AccordionPanel.visitTree(AccordionPanel.java:371)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIForm.visitTree(UIForm.java:371)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
com.sun.faces.application.view.StateManagementStrategyImpl.findComponent(StateManagementStrategyImpl.java:440)
com.sun.faces.application.view.StateManagementStrategyImpl.restoreDynamicRemove(StateManagementStrategyImpl.java:412)
com.sun.faces.application.view.StateManagementStrategyImpl.restoreDynamicActions(StateManagementStrategyImpl.java:317)
com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:281)
com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:188)
com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:453)
com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:142)
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:192)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
com.ultimatix.bgc.framework.GBGCSessionControllerFilter.doFilter(GBGCSessionControllerFilter.java:90)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
com.ultimatix.framework.jsf.util.ForcedLoginFilter.doFilter(ForcedLoginFilter.java:505)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
com.ultimatix.framework.jsf.util.IndexFilter.doFilter(IndexFilter.java:338)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
com.ultimatix.framework.jsf.util.SecurityInterceptor.doFilter(SecurityInterceptor.java:40)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
这是如何导致的,我如何解决它?

根据Mojarra的说法,当您错误地将组件实例绑定到托管bean的bean属性时,就会发生这种情况,该bean属性不受请求范围的限制,但范围更广

<x:someComponent binding="#{viewOrSessionOrApplicationScopedBean.component}" />

相应地修复代码,使其不会发生这种情况。组件本质上是请求范围的,可能绝对不能在多个请求之间共享。另见第3.1.5章:

3.1.5组件绑定

组件绑定通常与JavaBean结合使用,JavaBean通过托管 Bean创建工具(参见第5.8.1节“VariableResolver和默认VariableResolver”)它是非常强大的 建议应用程序开发人员将组件绑定表达式指向的托管bean放在 “请求”作用域。这是因为将其置于会话或应用程序作用域需要线程安全,因为 UIComponent实例依赖于在单个线程内运行。此外,对环境也有潜在的负面影响 将组件绑定放入“会话”范围时的内存管理

另见:

您试图实现什么目标?一些代码?真正的问题可能是调用:UIComponent.popComponentFromEL…似乎永远不会返回。您忘记告诉版本。您应该知道,版本信息对于根据堆栈跟踪中的行号查找正确的源代码行非常重要。在任何情况下,您是否尝试过最新版本,只是为了看看它是否已经在更新版本中得到修复?我使用的是primefaces3.4.2、jsf-api-2.1.7和jsf-impl-2.1.7这些都是旧版本。请至少尝试最新的JSF2.1.x版本。我们遇到了这个问题,但我们的代码中没有使用任何绑定。环境细节:weblogic 12.1.3.0、Liferay 6.2 EE、Primefaces 5.1、Jsf Mojarra 2.2.14。这是在重载情况下发生的(当安全扫描正在运行时)。任何帮助都将不胜感激。@BalusC,我如何跟踪/记录应用程序级别(页面/组件)的哪个组件的线程被卡住?