You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Michael Heinen <mh...@googlemail.com> on 2011/04/11 16:55:54 UTC

TagAttributeException after migration to jetty

  This is a follow-up discussion for "JSF application very slow with 
HTTPS"  in order to no hijack my own thread.

I want to compare the performance of my app with tomcat and jetty.
Environment:
    Facelets
    myFaces 1.2.9
    tomahawk12_1.1.10
    richfaces 3.3.3


The app runs fine with all Tomcat 6 versions.
Unfortunately I cannot access it with various jetty versions (7.3.x, 
7.2.x, 7.1.X, 6.1.22) because nested EL expressions are not working.

Stack from 6.1.22 (edited):

com.sun.facelets.tag.TagAttributeException: /pages/foo.xhtml @43,114 
title="#{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}" 

Error Parsing: 
#{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
     at 
com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
     at 
com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
     at 
com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
     at 
com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:76)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
     at 
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
     at 
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
     at 
com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
     at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:66)
     at 
com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
     at 
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:136)
     at 
com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
     at 
com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
     at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
     at 
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at 
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
     at 
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
     at 
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
     at 
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
     at 
com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
     at 
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:116)
     at 
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
     at 
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
     at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
     at 
com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:596)
     at 
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:651)
     at 
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
     at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
     at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
     at 
org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:187)
     at com.foo.ServletWrapper.service(ServletWrapper.java:125)
     at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
     at 
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
     at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
     at 
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
     at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:392)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at com.foo.MyFilter4.doFilter(MyFilter4.java:219)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at com.foo.MyFilter3.doFilter(MyFilter3.java:110)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at com.foo.MyFilter2.doFilter(MyFilter2.java:54)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at com.foo.MyFilter1.doFilter(MyFilter1.java:80)
     at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
     at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
     at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
     at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
     at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
     at 
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
     at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
     at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
     at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
     at org.mortbay.jetty.Server.handle(Server.java:326)
     at org.mortbay.jetty.HttpConnection.handleRequest(H
[2011-04-11 16:27:22,837] 4171469@qtp-3373197-7 [ERROR] [iaibuy3qqsph] 
debug.LoggingOutputStream flush: ttpConnection.java:542)
     at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
     at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
     at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: javax.el.ELException: Error Parsing: 
#{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
     at 
com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:171)
     at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:188)
     at 
com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232)
     at 
com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:92)
     at 
com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
     ... 92 more
Caused by: com.sun.el.parser.ParseException: Encountered ":MyController" 
at line 1, column 44.
Was expecting one of:
     "." ...
     "[" ...
     ":" ...
     ">" ...
     "gt" ...
     "<" ...
     "lt" ...
     ">=" ...
     "ge" ...
     "<=" ...
     "le" ...
     "==" ...
     "eq" ...
     "!=" ...
     "ne" ...
     "&&" ...
     "and" ...
     "||" ...
     "or" ...
     "*" ...
     "+" ...
     "-" ...
     "/" ...
     "div" ...
     "%" ...
     "mod" ...

     at 
com.sun.el.parser.ELParser.generateParseException(ELParser.java:1664)
     at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1544)
     at com.sun.el.parser.ELParser.Choice(ELParser.java:229)
     at com.sun.el.parser.ELParser.Expression(ELParser.java:208)
     at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:146)
     at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:74)
     at 
com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:139)
     ... 96 more

Can I use another EL impl with jetty?

Regards,
Michael

Re: TagAttributeException after migration to jetty

Posted by Jakob Korherr <ja...@gmail.com>.
Looks like a bug in the EL impl! Have you tried reformatting the
expression (like adding spaces and/or brackets)?

> Can I use another EL impl with jetty?

For sure, check out http://wiki.apache.org/myfaces/HowToEnableEl22 to
see how a el-impl can be changed.

FYI: this works since MyFaces core 1.2.7!

Regards,
Jakob

2011/4/11 Mike Kienenberger <mk...@gmail.com>:
> Is it possible that it's a conflict between Jetty 7 and the facelets el-ri.jar?
>
> I know at one point, we moved the facelets el-api.jar into a
> build-only classpath, but I think we still have the el-ri.jar in the
> deployment library path.
>
>
> On Mon, Apr 11, 2011 at 10:55 AM, Michael Heinen <mh...@googlemail.com> wrote:
>>  This is a follow-up discussion for "JSF application very slow with HTTPS"
>>  in order to no hijack my own thread.
>>
>> I want to compare the performance of my app with tomcat and jetty.
>> Environment:
>>   Facelets
>>   myFaces 1.2.9
>>   tomahawk12_1.1.10
>>   richfaces 3.3.3
>>
>>
>> The app runs fine with all Tomcat 6 versions.
>> Unfortunately I cannot access it with various jetty versions (7.3.x, 7.2.x,
>> 7.1.X, 6.1.22) because nested EL expressions are not working.
>>
>> Stack from 6.1.22 (edited):
>>
>> com.sun.facelets.tag.TagAttributeException: /pages/foo.xhtml @43,114
>> title="#{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}"
>> Error Parsing:
>> #{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
>>    at
>> com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
>>    at
>> com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
>>    at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
>>    at
>> com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:76)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
>>    at
>> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>>    at
>> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
>>    at
>> com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
>>    at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:66)
>>    at
>> com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
>>    at
>> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:136)
>>    at
>> com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
>>    at
>> com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
>>    at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>>    at
>> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>>    at
>> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>>    at
>> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
>>    at
>> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>>    at
>> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
>>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
>>    at
>> com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
>>    at
>> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:116)
>>    at
>> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>>    at
>> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>>    at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
>>    at
>> com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:596)
>>    at
>> com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:651)
>>    at
>> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>>    at
>> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
>>    at
>> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>>    at
>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
>>    at
>> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84)
>>    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:187)
>>    at com.foo.ServletWrapper.service(ServletWrapper.java:125)
>>    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>>    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>>    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>>    at
>> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>>    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:392)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at com.foo.MyFilter4.doFilter(MyFilter4.java:219)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at com.foo.MyFilter3.doFilter(MyFilter3.java:110)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at com.foo.MyFilter2.doFilter(MyFilter2.java:54)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at com.foo.MyFilter1.doFilter(MyFilter1.java:80)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>>    at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>>    at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>    at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>>    at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>>    at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>    at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>    at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>    at org.mortbay.jetty.Server.handle(Server.java:326)
>>    at org.mortbay.jetty.HttpConnection.handleRequest(H
>> [2011-04-11 16:27:22,837] 4171469@qtp-3373197-7 [ERROR] [iaibuy3qqsph]
>> debug.LoggingOutputStream flush: ttpConnection.java:542)
>>    at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>>    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>>    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>>    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>    at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>    at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> Caused by: javax.el.ELException: Error Parsing:
>> #{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
>>    at
>> com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:171)
>>    at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:188)
>>    at
>> com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232)
>>    at
>> com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:92)
>>    at
>> com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
>>    ... 92 more
>> Caused by: com.sun.el.parser.ParseException: Encountered ":MyController" at
>> line 1, column 44.
>> Was expecting one of:
>>    "." ...
>>    "[" ...
>>    ":" ...
>>    ">" ...
>>    "gt" ...
>>    "<" ...
>>    "lt" ...
>>    ">=" ...
>>    "ge" ...
>>    "<=" ...
>>    "le" ...
>>    "==" ...
>>    "eq" ...
>>    "!=" ...
>>    "ne" ...
>>    "&&" ...
>>    "and" ...
>>    "||" ...
>>    "or" ...
>>    "*" ...
>>    "+" ...
>>    "-" ...
>>    "/" ...
>>    "div" ...
>>    "%" ...
>>    "mod" ...
>>
>>    at com.sun.el.parser.ELParser.generateParseException(ELParser.java:1664)
>>    at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1544)
>>    at com.sun.el.parser.ELParser.Choice(ELParser.java:229)
>>    at com.sun.el.parser.ELParser.Expression(ELParser.java:208)
>>    at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:146)
>>    at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:74)
>>    at
>> com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:139)
>>    ... 96 more
>>
>> Can I use another EL impl with jetty?
>>
>> Regards,
>> Michael
>>
>



-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at

Re: TagAttributeException after migration to jetty

Posted by Mike Kienenberger <mk...@gmail.com>.
Is it possible that it's a conflict between Jetty 7 and the facelets el-ri.jar?

I know at one point, we moved the facelets el-api.jar into a
build-only classpath, but I think we still have the el-ri.jar in the
deployment library path.


On Mon, Apr 11, 2011 at 10:55 AM, Michael Heinen <mh...@googlemail.com> wrote:
>  This is a follow-up discussion for "JSF application very slow with HTTPS"
>  in order to no hijack my own thread.
>
> I want to compare the performance of my app with tomcat and jetty.
> Environment:
>   Facelets
>   myFaces 1.2.9
>   tomahawk12_1.1.10
>   richfaces 3.3.3
>
>
> The app runs fine with all Tomcat 6 versions.
> Unfortunately I cannot access it with various jetty versions (7.3.x, 7.2.x,
> 7.1.X, 6.1.22) because nested EL expressions are not working.
>
> Stack from 6.1.22 (edited):
>
> com.sun.facelets.tag.TagAttributeException: /pages/foo.xhtml @43,114
> title="#{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}"
> Error Parsing:
> #{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
>    at
> com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
>    at
> com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
>    at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
>    at
> com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:76)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
>    at
> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>    at
> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
>    at
> com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
>    at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:66)
>    at
> com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
>    at
> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:136)
>    at
> com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
>    at
> com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
>    at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:360)
>    at
> com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:190)
>    at
> com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
>    at
> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:124)
>    at
> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>    at
> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
>    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
>    at
> com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
>    at
> com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:116)
>    at
> com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
>    at
> com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:39)
>    at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
>    at
> com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:596)
>    at
> com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:651)
>    at
> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>    at
> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
>    at
> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>    at
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
>    at
> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84)
>    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:187)
>    at com.foo.ServletWrapper.service(ServletWrapper.java:125)
>    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>    at
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:392)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at com.foo.MyFilter4.doFilter(MyFilter4.java:219)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at com.foo.MyFilter3.doFilter(MyFilter3.java:110)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at com.foo.MyFilter2.doFilter(MyFilter2.java:54)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at com.foo.MyFilter1.doFilter(MyFilter1.java:80)
>    at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>    at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>    at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>    at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>    at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>    at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>    at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>    at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>    at org.mortbay.jetty.Server.handle(Server.java:326)
>    at org.mortbay.jetty.HttpConnection.handleRequest(H
> [2011-04-11 16:27:22,837] 4171469@qtp-3373197-7 [ERROR] [iaibuy3qqsph]
> debug.LoggingOutputStream flush: ttpConnection.java:542)
>    at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>    at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>    at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: javax.el.ELException: Error Parsing:
> #{MyController.myButtonEnabled?msgs['key1']:MyController.myButton2Enabled?msgs['key3']:msgs['key4']}
>    at
> com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:171)
>    at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:188)
>    at
> com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232)
>    at
> com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:92)
>    at
> com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
>    ... 92 more
> Caused by: com.sun.el.parser.ParseException: Encountered ":MyController" at
> line 1, column 44.
> Was expecting one of:
>    "." ...
>    "[" ...
>    ":" ...
>    ">" ...
>    "gt" ...
>    "<" ...
>    "lt" ...
>    ">=" ...
>    "ge" ...
>    "<=" ...
>    "le" ...
>    "==" ...
>    "eq" ...
>    "!=" ...
>    "ne" ...
>    "&&" ...
>    "and" ...
>    "||" ...
>    "or" ...
>    "*" ...
>    "+" ...
>    "-" ...
>    "/" ...
>    "div" ...
>    "%" ...
>    "mod" ...
>
>    at com.sun.el.parser.ELParser.generateParseException(ELParser.java:1664)
>    at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1544)
>    at com.sun.el.parser.ELParser.Choice(ELParser.java:229)
>    at com.sun.el.parser.ELParser.Expression(ELParser.java:208)
>    at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:146)
>    at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:74)
>    at
> com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:139)
>    ... 96 more
>
> Can I use another EL impl with jetty?
>
> Regards,
> Michael
>