2

我正在使用 WAS 8、JSF 2 (Apache MyFaces) 在性能测试期间,我们注意到一些 Web 容器线程在加载 JSF 表达式工厂时被阻塞。从线程转储中找到下面的日志

任何关于如何避免这种情况的建议都会很有用。为什么 JSF 为 javax.el.expressionfactory 的每个新实例创建加载类?

java/lang/ClassLoader.loadClass(ClassLoader.java:627(Compiled Code)) at
javax/el/ExpressionFactory.newInstance(ExpressionFactory.java:175(Compiled Code)) at
javax/el/ExpressionFactory.newInstance(ExpressionFactory.java:107(Compiled Code)) at
javax/el/BeanELResolver.invoke(BeanELResolver.java:404(Compiled Code)) at
javax/el/CompositeELResolver.invoke(CompositeELResolver.java:137(Compiled Code)) at
org/apache/el/parser/AstValue.getValue(AstValue.java:162(Compiled Code)) at
org/apache/el/ValueExpressionImpl.getValue(ValueExpressionImpl.java:283(Compiled Code)) at
org/apache/myfaces/view/facelets/el/TagValueExpression.getValue(TagValueExpression.java:85(Compiled Code)) at
org/apache/el/parser/AstIdentifier.getValue(AstIdentifier.java:67(Compiled Code)) at
org/apache/el/ValueExpressionImpl.getValue(ValueExpressionImpl.java:283(Compiled Code)) at
org/apache/myfaces/view/facelets/el/ELText$ELTextVariable.toString(ELText.java:202(Compiled Code)) at
org/apache/myfaces/view/facelets/el/ELText$ELTextComposite.toString(ELText.java:134(Compiled Code)) at
org/apache/myfaces/view/facelets/compiler/AttributeInstruction.write(AttributeInstruction.java:51(Compiled Code)) at
org/apache/myfaces/view/facelets/compiler/UIInstructions.encodeBegin(UIInstructions.java:46(Compiled Code)) at
org/apache/myfaces/view/facelets/compiler/UILeaf.encodeAll(UILeaf.java:214(Compiled Code)) at
javax/faces/component/UIComponent.encodeAll(UIComponent.java:622(Compiled Code)) at
javax/faces/component/UIComponent.encodeAll(UIComponent.java:622(Compiled Code)) at
org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320(Compiled Code)) at
org/apache/myfaces/application/ViewHandlerImpl.renderView(ViewHandlerImpl.java:263(Compiled Code)) at
org/apache/myfaces/lifecycle/RenderResponseExecutor.execute(RenderResponseExecutor.java:85(Compiled Code)) at
org/apache/myfaces/lifecycle/LifecycleImpl.render(LifecycleImpl.java:239(Compiled Code)) at
javax/faces/webapp/FacesServlet.service(FacesServlet.java:191(Compiled Code)) at
com/ibm/ws/cache/servlet/ServletWrapper.serviceProxied(ServletWrapper.java:307(Compiled Code)) at
com/ibm/ws/cache/servlet/CacheHook.handleFragment(CacheHook.java:562(Compiled Code)) at
com/ibm/ws/cache/servlet/CacheHook.handleServlet(CacheHook.java:255(Compiled Code)) at
com/ibm/ws/cache/servlet/ServletWrapper.service(ServletWrapper.java:259(Compiled Code)) at
com/ibm/ws/webcontainer/servlet/ServletWrapper.service(ServletWrapper.java:1224(Compiled Code)) at
com/ibm/ws/webcontainer/servlet/ServletWrapper.handleRequest(ServletWrapper.java:774(Compiled Code))
4

1 回答 1

0

这似乎是最近解决的(但尚未在修订包中提供)APAR PM78648。

http://www-01.ibm.com/support/docview.wss?uid=swg24034243&myns=swgws&mynp=OCSSEQTP&mync=R

我建议向 IBM 开一张票并请求临时修复,以便您可以继续进行性能测试。

于 2013-01-27T15:40:42.503 回答