You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Michał Minicki (JIRA)" <de...@tapestry.apache.org> on 2010/06/01 08:46:38 UTC

[jira] Commented: (TAPESTRY-2055) Problem when running 2+ tapestry web apps in same application server

    [ https://issues.apache.org/jira/browse/TAPESTRY-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12873899#action_12873899 ] 

Michał Minicki commented on TAPESTRY-2055:
------------------------------------------

So, any new word on this? We've just hit this exact problem . I have read Jesse planned to drop static state in ognl version 3.0. How's that going?

> Problem when running 2+ tapestry web apps in same application server
> --------------------------------------------------------------------
>
>                 Key: TAPESTRY-2055
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2055
>             Project: Tapestry
>          Issue Type: Bug
>    Affects Versions: 4.1.3
>         Environment: JBoss 4.2.x, Tapestry 4.1.3, MySQL5
>            Reporter: Eduardo Magdalena
>            Assignee: Jesse Kuhnert
>             Fix For: 4.1.7
>
>
> I have an enterprise Java Bean which feeds multiple tapestry apps. I can open a session on two apps but when I open a second session on one of them and enter on a page not previously loaded (in the first session) I get:
> On browser:
> java.lang.NullPointerException
> 	$ExceptionDisplay_50.getClientId($ExceptionDisplay_50.java)
> 	org.apache.tapestry.AbstractComponent.hashCode(AbstractComponent.java:917)
> 	java.lang.Object.toString(Object.java:219)
> 	org.apache.tapestry.AbstractComponent.toString(AbstractComponent.java:564)
> 	org.apache.tapestry.util.exception.ExceptionAnalyzer.buildDescription(ExceptionAnalyzer.java:184)
> 	org.apache.tapestry.util.exception.ExceptionAnalyzer.analyze(ExceptionAnalyzer.java:93)
> 	org.apache.tapestry.util.exception.ExceptionAnalyzer.reportException(ExceptionAnalyzer.java:379)
> 	org.apache.tapestry.ApplicationServlet.show(ApplicationServlet.java:158)
> 	org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:132)
> 	org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:103)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> On JBoss Console I get a thousand of stack traces (sometimes infinite), being the most relevant:
> First Stack Trace:
> 12:02:58,171 ERROR [HiveMindExpressionCompiler] Error generating OGNL getter for expression @com.indra.localiza.Restriction@hasPermission(sessionDescriptor.leve
> l, @com.indra.localiza.Restriction@ICON) with root $GestorIcons_46@3c1[GestorIcons] and body:
> { return  ($w) (com.indra.localiza.Restriction#hasPermission((($GestorIcons_46)$2).getSessionDescriptor().getLevel(), com.indra.localiza.Restriction.ICON));}
> org.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTStaticMethod_1178767
> 42ab: [source error] no such class: $GestorIcons_46
>         at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
>         at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:176)
>         at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
>         at ognl.Ognl.compileExpression(Ognl.java:141)
>         at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
>         at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
>         at $ExpressionCache_11787674066.getCompiledExpression($ExpressionCache_11787674066.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
>         at org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>         at org.apache.tapestry.enhance.EnhanceUtils.toBoolean(EnhanceUtils.java:173)
>         at $IfBean_5.getCondition($IfBean_5.java)
>         at org.apache.tapestry.components.IfBean.evaluateCondition(IfBean.java:128)
>         at org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:66)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
>         at org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:539)
>         at org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:179)
>         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:177)
>         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:249)
>         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:397)
>         at org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:151)
>         at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33)
>         at $ResponseRenderer_11787673da3.renderResponse($ResponseRenderer_11787673da3.java)
>         at org.apache.tapestry.engine.DirectService.service(DirectService.java:147)
>         at $IEngineService_11787673fb6.service($IEngineService_11787673fb6.java)
>         at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
>         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
>         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>         at $WebRequestServicer_11787673f8d.service($WebRequestServicer_11787673f8d.java)
>         at $WebRequestServicer_11787673f89.service($WebRequestServicer_11787673f89.java)
>         at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>         at $ServletRequestServicer_11787673f6f.service($ServletRequestServicer_11787673f6f.java)
>         at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at $ServletRequestServicerFilter_11787673f6b.service($ServletRequestServicerFilter_11787673f6b.java)
>         at $ServletRequestServicer_11787673f71.service($ServletRequestServicer_11787673f71.java)
>         at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at $ServletRequestServicerFilter_11787673f69.service($ServletRequestServicerFilter_11787673f69.java)
>         at $ServletRequestServicer_11787673f71.service($ServletRequestServicer_11787673f71.java)
>         at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at $ServletRequestServicerFilter_11787673f6d.service($ServletRequestServicerFilter_11787673f6d.java)
>         at $ServletRequestServicer_11787673f71.service($ServletRequestServicer_11787673f71.java)
>         at $ServletRequestServicer_11787673dcf.service($ServletRequestServicer_11787673dcf.java)
>         at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)
>         at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:103)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> In the Middle: 
> (This one repeats several times)
> Caused by: javassist.CannotCompileException: [source error] no such class: $Exception_47
>         at javassist.CtBehavior.setBody(CtBehavior.java:367)
>         at javassist.CtBehavior.setBody(CtBehavior.java:334)
>         at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
>         ... 69 more
> 12:02:59,453 ERROR [HiveMindExpressionCompiler] Error generating OGNL getter for expression exceptions with root $ExceptionDisplay_50@6482ee45[framework:Excepti
> on/$ExceptionDisplay] and body:
> { return (($ExceptionDisplay_50)$2).getExceptions();}
> org.apache.hivemind.ApplicationRuntimeException: Unable to add method java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class $ASTProperty_117876742b3
> : [source error] no such class: $ExceptionDisplay_50
>         at org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
>         at org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:176)
>         at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
>         at ognl.Ognl.compileExpression(Ognl.java:141)
>         at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
>         at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
>         at $ExpressionCache_11787674066.getCompiledExpression($ExpressionCache_11787674066.java)
>         at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>         at org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
>         at org.apache.tapestry.components.ForBean.evaluateSourceIterator(ForBean.java:693)
>         at org.apache.tapestry.components.ForBean.getData(ForBean.java:326)
> So it fails: Tapestry, Hivemind, OGNL, JavaAssist ...
> The only solution I got so far is have a JBoss instance for each WebApp...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.