You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jose Santiago (JIRA)" <de...@tapestry.apache.org> on 2008/03/11 11:48:47 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=12577382#action_12577382 ] 

Jose Santiago commented on TAPESTRY-2055:
-----------------------------------------

Hi, I´ve got the same problem, let me tell you a little more about my enviroment:

I´ve got JBoss 4.2.1 and two web applications created with Tapestry, I´m using Netbeans 5.5.1 and I´m only able to do a correct deployment when all Tapestry libs are inside JBoss/Server/lib directory.

Now I´m using Tapestry 4.1.5 and correct dependencies (ognl 2.7.2, javassist 3.6GA and so on...)

I tried to deploy with ognl jar packaged inside each application, or ognl only present into JBoss/Server/lib directory and I always get this error when loading one of my web app (see below):

Could this help to solve this issue?

Does anyone know which is the right way to handle Tapestry, ognl and javassist libs when deploying?

Thanks in advance!

11:35:14,156 WARN  [RequestExceptionReporter] Unable to process client request: Class ognl/OgnlContext violates loader constraints
org.apache.tapestry.BindingException: Class ognl/OgnlContext violates loader constraints [Annotation @org.apache.tapestry.annotations.Persist(value=)
of public abstract long com.indra.localiza.web.pages.LocalizaWebBasePage.getCurrentBuildingId()]
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:145)
        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.toLong(EnhanceUtils.java:208)
        at $Home_0.finishLoad($Home_0.java)
        at org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:408)
        at org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:639)
        at $IPageLoader_1189d66f967.loadPage($IPageLoader_1189d66f967.java)
        at $IPageLoader_1189d66f968.loadPage($IPageLoader_1189d66f968.java)
        at org.apache.tapestry.pageload.PageSource.makeObject(PageSource.java:152)
        at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
        at org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:176)
        at $IPageSource_1189d66f843.getPage($IPageSource_1189d66f843.java)
        at $IPageSource_1189d66f842.getPage($IPageSource_1189d66f842.java)
        at org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:241)
        at org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:228)
        at org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:575)
        at org.apache.tapestry.engine.HomeService.service(HomeService.java:66)
        at $IEngineService_1189d66f953.service($IEngineService_1189d66f953.java)
        at org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77)
        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_1189d66f92f.service($WebRequestServicer_1189d66f92f.java)
        at $WebRequestServicer_1189d66f92e.service($WebRequestServicer_1189d66f92e.java)
        at $WebRequestServicer_1189d66f92b.service($WebRequestServicer_1189d66f92b.java)
        at $WebRequestServicer_1189d66f92a.service($WebRequestServicer_1189d66f92a.java)
        at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
        at $ServletRequestServicer_1189d66f911.service($ServletRequestServicer_1189d66f911.java)
        at $ServletRequestServicer_1189d66f910.service($ServletRequestServicer_1189d66f910.java)
        at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
        at $ServletRequestServicerFilter_1189d66f90d.service($ServletRequestServicerFilter_1189d66f90d.java)
        at $ServletRequestServicerFilter_1189d66f90c.service($ServletRequestServicerFilter_1189d66f90c.java)
        at $ServletRequestServicer_1189d66f912.service($ServletRequestServicer_1189d66f912.java)
        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
        at $ServletRequestServicerFilter_1189d66f90b.service($ServletRequestServicerFilter_1189d66f90b.java)
        at $ServletRequestServicerFilter_1189d66f90a.service($ServletRequestServicerFilter_1189d66f90a.java)
        at $ServletRequestServicer_1189d66f912.service($ServletRequestServicer_1189d66f912.java)
        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
        at $ServletRequestServicerFilter_1189d66f90f.service($ServletRequestServicerFilter_1189d66f90f.java)
        at $ServletRequestServicerFilter_1189d66f90e.service($ServletRequestServicerFilter_1189d66f90e.java)
        at $ServletRequestServicer_1189d66f912.service($ServletRequestServicer_1189d66f912.java)
        at $ServletRequestServicer_1189d66f87f.service($ServletRequestServicer_1189d66f87f.java)
        at $ServletRequestServicer_1189d66f87e.service($ServletRequestServicer_1189d66f87e.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)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.LinkageError: Class ognl/OgnlContext violates loader constraints
        at $ExpressionEvaluator_1189d66fa04.createContext($ExpressionEvaluator_1189d66fa04.java)
        at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
        at org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
        at $ExpressionCache_1189d66fa06.getCompiledExpression($ExpressionCache_1189d66fa06.java)
        at org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
        ... 65 more
11:35:14,328 ERROR [STDERR]

> 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 @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.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org