[
https://issues.apache.org/jira/browse/TAPESTRY-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12570705#action_12570705
]
Jesse Kuhnert commented on TAPESTRY-2055:
-----------------------------------------
Now that I think about it more your second error message about duplicated
tapestry-annotation definitions sounds suspicious. It should only see the
other hivemodule.xml definition if it is on the same classpath - which means
the classpath hasn't really been separated for both web apps. I have a server
running multiple tapestry war'ed apps with no shared libs and don't get the
duplicated error message so am thinking that there are still some jars being
shared somehow in your environment.
> 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.6
>
>
> 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 @[EMAIL PROTECTED](sessionDescriptor.leve
> l, @[EMAIL PROTECTED]) with root [EMAIL PROTECTED] 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 [EMAIL PROTECTED]: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.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]