You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "Blower, Andy" <An...@proquest.co.uk> on 2010/09/10 14:00:19 UTC

[T5.2] Classloader problem with a service

Unfortunately we've got another T5.2 migration issue that I can't figure out. I wonder if this is to do with the service class reloading added in 5.2 - is there a way of disabling it to check?

I've posted the error trace below, basically a service (ScholarUniverseSearchEngine) is trying to create a class (ScholarUniverseResultsList) and failing because there seems to be 2 different versions of the service in different classloaders. It's really puzzling because this service and class is copied from another that does the exact same thing and still works okay. I tried running it by deploying a war to a standalone tomcat, and it's fine. It just seems to be a problem when running from within Eclipse using runjettyrun. We'll try some more combinations out, but if anyone can help with this it would be great.


ERROR [11:53:15,737] btpool0-6 (services.TapestryModule.RequestExceptionHandler:62) - Processing of request failed with uncaught exception: loader constraint violation: when resolving method "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResultsList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;Ljava/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V" the class loader (instance of org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingClassLoader) of the current class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for resolved class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResultsList, have different Class objects for the type com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine used in the signature
java.lang.LinkageError: loader constraint violation: when resolving method "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResultsList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;Ljava/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V" the class loader (instance of org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingClassLoader) of the current class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for resolved class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResultsList, have different Class objects for the type com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine used in the signature
                at com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseSearchEngine.executeSearch(ScholarUniverseSearchEngine.java:146)
                at $SearchEngine_12afb45d215.executeSearch($SearchEngine_12afb45d215.java)
                at Invocation$SearchEngine$executeSearch$12afb462907.invokeDelegateMethod(Invocation$SearchEngine$executeSearch$12afb462907.java)
                at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:124)
                at com.proquest.apps.onesearch.stats.ProfileAdvice.advise(ProfileAdvice.java:33)
                at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:128)
                at $SearchEngine_12afb45d216.executeSearch($SearchEngine_12afb45d216.java)
                at $SearchEngine_12afb45cd44.executeSearch($SearchEngine_12afb45cd44.java)
                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.handleSearchFormSubmission(ScholarUniverseBasic.java:132)
                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic$MethodAccess_handleSearchFormSubmission_12afb45cd45.invoke(ScholarUniverseBasic$MethodAccess_handleSearchFormSubmission_12afb45cd45.java)
                at org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
                at org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
                at org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.dispatchComponentEvent(ScholarUniverseBasic.java)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:942)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
                at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
                at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
                at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
                at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
                at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:287)
                at org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:548)
                at org.apache.tapestry5.corelib.components.Form$onAction$invocation_12afb463c82.invokeAdvisedMethod(Form$onAction$invocation_12afb463c82.java)
                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:77)
                at org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
                at org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
                at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
                at org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12afb45cb89.invoke(Form$MethodAccess_onAction_12afb45cb89.java)
                at org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
                at org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
                at org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
                at org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:950)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
                at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
                at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
                at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
                at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
                at org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81)
                at org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
                at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
                at org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2567)
                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
                at $ComponentEventRequestHandler_12afb45ccec.handle($ComponentEventRequestHandler_12afb45ccec.java)
                at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
                at org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
                at $ComponentRequestHandler_12afb45cced.handleComponentEvent($ComponentRequestHandler_12afb45cced.java)
                at $ComponentRequestHandler_12afb45cacb.handleComponentEvent($ComponentRequestHandler_12afb45cacb.java)
                at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
                at $Dispatcher_12afb45cacc.dispatch($Dispatcher_12afb45cacc.java)
                at $Dispatcher_12afb45ca9c.dispatch($Dispatcher_12afb45ca9c.java)
                at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:320)
                at com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule.java:518)
                at $RequestFilter_12afb45ca9b.service($RequestFilter_12afb45ca9b.java)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.service(OneSearchLocalizationFilter.java:45)
                at $RequestFilter_12afb45ca9f.service($RequestFilter_12afb45ca9f.java)
                at $RequestFilter_12afb45ca97.service($RequestFilter_12afb45ca97.java)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:982)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:972)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:50)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFilter.java:50)
                at $RequestFilter_12afb45ca9e.service($RequestFilter_12afb45ca9e.java)
                at $RequestFilter_12afb45ca98.service($RequestFilter_12afb45ca98.java)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
                at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at $RequestHandler_12afb45ca91.service($RequestHandler_12afb45ca91.java)
                at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:271)
                at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
                at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
                at $HttpServletRequestFilter_12afb45ca90.service($HttpServletRequestFilter_12afb45ca90.java)
                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
                at com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service(EmailHttpServletRequestFilter.java:73)
                at $HttpServletRequestFilter_12afb45ca8e.service($HttpServletRequestFilter_12afb45ca8e.java)
                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
                at com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilter.service(SiteRedirectHttpServletRequestFilter.java:45)
                at $HttpServletRequestFilter_12afb45ca8d.service($HttpServletRequestFilter_12afb45ca8d.java)
                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
                at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:926)
                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
                at $HttpServletRequestHandler_12afb45ca8a.service($HttpServletRequestHandler_12afb45ca8a.java)
                at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
                at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
                at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
                at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
                at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
                at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
                at org.mortbay.jetty.Server.handle(Server.java:324)
                at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
                at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
                at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
                at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
                at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
                at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
                at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)


RE: [T5.2] Classloader problem with a service

Posted by "Blower, Andy" <An...@proquest.co.uk>.
Thank you Jim - that did the trick.


> -----Original Message-----
> From: Jim O'Callaghan [mailto:jc1000001@yahoo.co.uk]
> Sent: 10 September 2010 14:45
> To: 'Tapestry users'
> Subject: RE: [T5.2] Classloader problem with a service
>
> Andy,
>
> I haven't tried this but apparently:
>
> public static void bind(ServiceBinder binder) {
>       binder.bind(MyInterface.class,
> MyImplementation.class).preventReloading();
> }
>
> ... should work - referenced here:
> http://tapestry.markmail.org/message/honjlvrqljdjparp?q=service+reload+
> disab
> le
>
> Regards,
> Jim.
> -----Original Message-----
> From: Blower, Andy [mailto:Andy.Blower@proquest.co.uk]
> Sent: 10 September 2010 13:00
> To: 'Tapestry users'
> Subject: [T5.2] Classloader problem with a service
>
> Unfortunately we've got another T5.2 migration issue that I can't
> figure
> out. I wonder if this is to do with the service class reloading added
> in 5.2
> - is there a way of disabling it to check?
>
> I've posted the error trace below, basically a service
> (ScholarUniverseSearchEngine) is trying to create a class
> (ScholarUniverseResultsList) and failing because there seems to be 2
> different versions of the service in different classloaders. It's
> really
> puzzling because this service and class is copied from another that
> does the
> exact same thing and still works okay. I tried running it by deploying
> a war
> to a standalone tomcat, and it's fine. It just seems to be a problem
> when
> running from within Eclipse using runjettyrun. We'll try some more
> combinations out, but if anyone can help with this it would be great.
>
>
> ERROR [11:53:15,737] btpool0-6
> (services.TapestryModule.RequestExceptionHandler:62) - Processing of
> request
> failed with uncaught exception: loader constraint violation: when
> resolving
> method
> "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseR
> esult
> sList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/Str
> ing;L
> java/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse
> /Scho
> larUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig
> ;)V"
> the class loader (instance of
> org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$Reloa
> dingC
> lassLoader) of the current class,
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSe
> archE
> ngine, and the class loader (instance of
> runjettyrun/ProjectClassLoader) for
> resolved class,
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseRe
> sults
> List, have different Class objects for the type
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSe
> archE
> ngine used in the signature
> java.lang.LinkageError: loader constraint violation: when resolving
> method
> "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseR
> esult
> sList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/Str
> ing;L
> java/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse
> /Scho
> larUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig
> ;)V"
> the class loader (instance of
> org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$Reloa
> dingC
> lassLoader) of the current class,
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSe
> archE
> ngine, and the class loader (instance of
> runjettyrun/ProjectClassLoader) for
> resolved class,
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseRe
> sults
> List, have different Class objects for the type
> com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSe
> archE
> ngine used in the signature
>                 at
> com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseSe
> archE
> ngine.executeSearch(ScholarUniverseSearchEngine.java:146)
>                 at
> $SearchEngine_12afb45d215.executeSearch($SearchEngine_12afb45d215.java)
>                 at
> Invocation$SearchEngine$executeSearch$12afb462907.invokeDelegateMethod(
> Invoc
> ation$SearchEngine$executeSearch$12afb462907.java)
>                 at
> org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(A
> bstra
> ctInvocation.java:124)
>                 at
> com.proquest.apps.onesearch.stats.ProfileAdvice.advise(ProfileAdvice.ja
> va:33
> )
>                 at
> org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(A
> bstra
> ctInvocation.java:128)
>                 at
> $SearchEngine_12afb45d216.executeSearch($SearchEngine_12afb45d216.java)
>                 at
> $SearchEngine_12afb45cd44.executeSearch($SearchEngine_12afb45cd44.java)
>                 at
> com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseB
> asic.
> handleSearchFormSubmission(ScholarUniverseBasic.java:132)
>                 at
> com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseB
> asic$
> MethodAccess_handleSearchFormSubmission_12afb45cd45.invoke(ScholarUnive
> rseBa
> sic$MethodAccess_handleSearchFormSubmission_12afb45cd45.java)
>                 at
> org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.i
> nvoke
> EventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
>                 at
> org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHand
> lers(
> OnEventWorker.java:157)
>                 at
> org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventW
> orker
> .java:136)
>                 at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio
> n.pro
> ceed(AbstractComponentMethodInvocation.java:86)
>                 at
> com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseB
> asic.
> dispatchComponentEvent(ScholarUniverseBasic.java)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispat
> chEve
> nt(ComponentPageElementImpl.java:942)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proces
> sEven
> tTriggering(ComponentPageElementImpl.java:1132)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access
> $3000
> (ComponentPageElementImpl.java:72)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invo
> ke(Co
> mponentPageElementImpl.java:1077)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invo
> ke(Co
> mponentPageElementImpl.java:1074)
>                 at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operation
> Track
> erImpl.java:65)
>                 at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerT
> hread
> OperationTracker.java:68)
>                 at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java
> :1057
> )
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesIm
> pl.in
> voke(ComponentPageElementResourcesImpl.java:141)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.trigge
> rCont
> extEvent(ComponentPageElementImpl.java:1073)
>                 at
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.
> trigg
> erContextEvent(InternalComponentResourcesImpl.java:287)
>                 at
> org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.ja
> va:54
> 8)
>                 at
> org.apache.tapestry5.corelib.components.Form$onAction$invocation_12afb4
> 63c82
> .invokeAdvisedMethod(Form$onAction$invocation_12afb463c82.java)
>                 at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio
> n.pro
> ceed(AbstractComponentMethodInvocation.java:77)
>                 at
> org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(Logging
> Advic
> e.java:37)
>                 at
> org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.ja
> va:54
> )
>                 at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio
> n.pro
> ceed(AbstractComponentMethodInvocation.java:86)
>                 at
> org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
>                 at
> org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12af
> b45cb
> 89.invoke(Form$MethodAccess_onAction_12afb45cb89.java)
>                 at
> org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.i
> nvoke
> EventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
>                 at
> org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHand
> lers(
> OnEventWorker.java:157)
>                 at
> org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventW
> orker
> .java:136)
>                 at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio
> n.pro
> ceed(AbstractComponentMethodInvocation.java:86)
>                 at
> org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(For
> m.jav
> a)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispat
> chEve
> nt(ComponentPageElementImpl.java:950)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proces
> sEven
> tTriggering(ComponentPageElementImpl.java:1132)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access
> $3000
> (ComponentPageElementImpl.java:72)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invo
> ke(Co
> mponentPageElementImpl.java:1077)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invo
> ke(Co
> mponentPageElementImpl.java:1074)
>                 at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operation
> Track
> erImpl.java:65)
>                 at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerT
> hread
> OperationTracker.java:68)
>                 at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java
> :1057
> )
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesIm
> pl.in
> voke(ComponentPageElementResourcesImpl.java:141)
>                 at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.trigge
> rCont
> extEvent(ComponentPageElementImpl.java:1073)
>                 at
> org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl
> .hand
> le(ComponentEventRequestHandlerImpl.java:81)
>                 at
> org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFil
> ter.h
> andle(ImmediateActionRenderResponseFilter.java:42)
>                 at
> $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequest
> Handl
> er_12afb45ccf0.java)
>                 at
> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.jav
> a:42)
>                 at
> $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequest
> Handl
> er_12afb45ccf0.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.j
> ava:2
> 567)
>                 at
> $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequest
> Handl
> er_12afb45ccf0.java)
>                 at
> $ComponentEventRequestHandler_12afb45ccec.handle($ComponentEventRequest
> Handl
> er_12afb45ccec.java)
>                 at
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminato
> r.han
> dleComponentEvent(ComponentRequestHandlerTerminator.java:43)
>                 at
> org.apache.tapestry5.services.InitializeActivePageName.handleComponentE
> vent(
> InitializeActivePageName.java:39)
>                 at
> $ComponentRequestHandler_12afb45cced.handleComponentEvent($ComponentReq
> uestH
> andler_12afb45cced.java)
>                 at
> $ComponentRequestHandler_12afb45cacb.handleComponentEvent($ComponentReq
> uestH
> andler_12afb45cacb.java)
>                 at
> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatc
> h(Com
> ponentEventDispatcher.java:46)
>                 at
> $Dispatcher_12afb45cacc.dispatch($Dispatcher_12afb45cacc.java)
>                 at
> $Dispatcher_12afb45ca9c.dispatch($Dispatcher_12afb45ca9c.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.s
> ervic
> e(TapestryModule.java:320)
>                 at
> com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule.
> java:
> 518)
>                 at
> $RequestFilter_12afb45ca9b.service($RequestFilter_12afb45ca9b.java)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.servic
> e(One
> SearchLocalizationFilter.java:45)
>                 at
> $RequestFilter_12afb45ca9f.service($RequestFilter_12afb45ca9f.java)
>                 at
> $RequestFilter_12afb45ca97.service($RequestFilter_12afb45ca97.java)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(Reque
> stErr
> orFilter.java:26)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.j
> ava:9
> 82)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.j
> ava:9
> 72)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(Static
> Files
> Filter.java:90)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service
> (URLR
> ewriterRequestFilter.java:50)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFi
> lter.
> java:50)
>                 at
> $RequestFilter_12afb45ca9e.service($RequestFilter_12afb45ca9e.java)
>                 at
> $RequestFilter_12afb45ca98.service($RequestFilter_12afb45ca98.java)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C
> heckF
> orUpdatesFilter.java:90)
>                 at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C
> heckF
> orUpdatesFilter.java:80)
>                 at
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(Concu
> rrent
> Barrier.java:85)
>                 at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(Ch
> eckFo
> rUpdatesFilter.java:103)
>                 at
> $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                 at
> $RequestHandler_12afb45ca91.service($RequestHandler_12afb45ca91.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerT
> ermin
> ator.service(TapestryModule.java:271)
>                 at
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:5
> 3)
>                 at
> $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandl
> er_12
> afb45ca93.java)
>                 at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(Ignor
> edPat
> hsFilter.java:62)
>                 at
> $HttpServletRequestFilter_12afb45ca90.service($HttpServletRequestFilter
> _12af
> b45ca90.java)
>                 at
> $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandl
> er_12
> afb45ca93.java)
>                 at
> com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service
> (Emai
> lHttpServletRequestFilter.java:73)
>                 at
> $HttpServletRequestFilter_12afb45ca8e.service($HttpServletRequestFilter
> _12af
> b45ca8e.java)
>                 at
> $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandl
> er_12
> afb45ca93.java)
>                 at
> com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilt
> er.se
> rvice(SiteRedirectHttpServletRequestFilter.java:45)
>                 at
> $HttpServletRequestFilter_12afb45ca8d.service($HttpServletRequestFilter
> _12af
> b45ca8d.java)
>                 at
> $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandl
> er_12
> afb45ca93.java)
>                 at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.j
> ava:9
> 26)
>                 at
> $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandl
> er_12
> afb45ca93.java)
>                 at
> $HttpServletRequestHandler_12afb45ca8a.service($HttpServletRequestHandl
> er_12
> afb45ca8a.java)
>                 at
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
>                 at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
> ndler
> .java:1084)
>                 at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360
> )
>                 at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 216)
>                 at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181
> )
>                 at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722
> )
>                 at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>                 at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139
> )
>                 at org.mortbay.jetty.Server.handle(Server.java:324)
>                 at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>                 at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.
> java:
> 842)
>                 at
> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>                 at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>                 at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>                 at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java
> :395)
>                 at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.j
> ava:4
> 50)
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>



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


RE: [T5.2] Classloader problem with a service

Posted by Jim O'Callaghan <jc...@yahoo.co.uk>.
Andy,

I haven't tried this but apparently:

public static void bind(ServiceBinder binder) {
	binder.bind(MyInterface.class,
MyImplementation.class).preventReloading(); 
}

... should work - referenced here:
http://tapestry.markmail.org/message/honjlvrqljdjparp?q=service+reload+disab
le

Regards,
Jim.
-----Original Message-----
From: Blower, Andy [mailto:Andy.Blower@proquest.co.uk] 
Sent: 10 September 2010 13:00
To: 'Tapestry users'
Subject: [T5.2] Classloader problem with a service

Unfortunately we've got another T5.2 migration issue that I can't figure
out. I wonder if this is to do with the service class reloading added in 5.2
- is there a way of disabling it to check?

I've posted the error trace below, basically a service
(ScholarUniverseSearchEngine) is trying to create a class
(ScholarUniverseResultsList) and failing because there seems to be 2
different versions of the service in different classloaders. It's really
puzzling because this service and class is copied from another that does the
exact same thing and still works okay. I tried running it by deploying a war
to a standalone tomcat, and it's fine. It just seems to be a problem when
running from within Eclipse using runjettyrun. We'll try some more
combinations out, but if anyone can help with this it would be great.


ERROR [11:53:15,737] btpool0-6
(services.TapestryModule.RequestExceptionHandler:62) - Processing of request
failed with uncaught exception: loader constraint violation: when resolving
method
"com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResult
sList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;L
java/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/Scho
larUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V"
the class loader (instance of
org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingC
lassLoader) of the current class,
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchE
ngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for
resolved class,
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResults
List, have different Class objects for the type
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchE
ngine used in the signature
java.lang.LinkageError: loader constraint violation: when resolving method
"com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResult
sList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;L
java/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/Scho
larUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V"
the class loader (instance of
org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingC
lassLoader) of the current class,
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchE
ngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for
resolved class,
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResults
List, have different Class objects for the type
com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchE
ngine used in the signature
                at
com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseSearchE
ngine.executeSearch(ScholarUniverseSearchEngine.java:146)
                at
$SearchEngine_12afb45d215.executeSearch($SearchEngine_12afb45d215.java)
                at
Invocation$SearchEngine$executeSearch$12afb462907.invokeDelegateMethod(Invoc
ation$SearchEngine$executeSearch$12afb462907.java)
                at
org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(Abstra
ctInvocation.java:124)
                at
com.proquest.apps.onesearch.stats.ProfileAdvice.advise(ProfileAdvice.java:33
)
                at
org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(Abstra
ctInvocation.java:128)
                at
$SearchEngine_12afb45d216.executeSearch($SearchEngine_12afb45d216.java)
                at
$SearchEngine_12afb45cd44.executeSearch($SearchEngine_12afb45cd44.java)
                at
com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.
handleSearchFormSubmission(ScholarUniverseBasic.java:132)
                at
com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic$
MethodAccess_handleSearchFormSubmission_12afb45cd45.invoke(ScholarUniverseBa
sic$MethodAccess_handleSearchFormSubmission_12afb45cd45.java)
                at
org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invoke
EventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
                at
org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(
OnEventWorker.java:157)
                at
org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker
.java:136)
                at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.pro
ceed(AbstractComponentMethodInvocation.java:86)
                at
com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.
dispatchComponentEvent(ScholarUniverseBasic.java)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEve
nt(ComponentPageElementImpl.java:942)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEven
tTriggering(ComponentPageElementImpl.java:1132)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000
(ComponentPageElementImpl.java:72)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Co
mponentPageElementImpl.java:1077)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Co
mponentPageElementImpl.java:1074)
                at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrack
erImpl.java:65)
                at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThread
OperationTracker.java:68)
                at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057
)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.in
voke(ComponentPageElementResourcesImpl.java:141)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerCont
extEvent(ComponentPageElementImpl.java:1073)
                at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.trigg
erContextEvent(InternalComponentResourcesImpl.java:287)
                at
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:54
8)
                at
org.apache.tapestry5.corelib.components.Form$onAction$invocation_12afb463c82
.invokeAdvisedMethod(Form$onAction$invocation_12afb463c82.java)
                at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.pro
ceed(AbstractComponentMethodInvocation.java:77)
                at
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvic
e.java:37)
                at
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54
)
                at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.pro
ceed(AbstractComponentMethodInvocation.java:86)
                at
org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
                at
org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12afb45cb
89.invoke(Form$MethodAccess_onAction_12afb45cb89.java)
                at
org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invoke
EventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
                at
org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(
OnEventWorker.java:157)
                at
org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker
.java:136)
                at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.pro
ceed(AbstractComponentMethodInvocation.java:86)
                at
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.jav
a)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEve
nt(ComponentPageElementImpl.java:950)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEven
tTriggering(ComponentPageElementImpl.java:1132)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000
(ComponentPageElementImpl.java:72)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Co
mponentPageElementImpl.java:1077)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(Co
mponentPageElementImpl.java:1074)
                at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrack
erImpl.java:65)
                at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThread
OperationTracker.java:68)
                at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057
)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.in
voke(ComponentPageElementResourcesImpl.java:141)
                at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerCont
extEvent(ComponentPageElementImpl.java:1073)
                at
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.hand
le(ComponentEventRequestHandlerImpl.java:81)
                at
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.h
andle(ImmediateActionRenderResponseFilter.java:42)
                at
$ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandl
er_12afb45ccf0.java)
                at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
                at
$ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandl
er_12afb45ccf0.java)
                at
org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2
567)
                at
$ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandl
er_12afb45ccf0.java)
                at
$ComponentEventRequestHandler_12afb45ccec.handle($ComponentEventRequestHandl
er_12afb45ccec.java)
                at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.han
dleComponentEvent(ComponentRequestHandlerTerminator.java:43)
                at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(
InitializeActivePageName.java:39)
                at
$ComponentRequestHandler_12afb45cced.handleComponentEvent($ComponentRequestH
andler_12afb45cced.java)
                at
$ComponentRequestHandler_12afb45cacb.handleComponentEvent($ComponentRequestH
andler_12afb45cacb.java)
                at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(Com
ponentEventDispatcher.java:46)
                at
$Dispatcher_12afb45cacc.dispatch($Dispatcher_12afb45cacc.java)
                at
$Dispatcher_12afb45ca9c.dispatch($Dispatcher_12afb45ca9c.java)
                at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.servic
e(TapestryModule.java:320)
                at
com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule.java:
518)
                at
$RequestFilter_12afb45ca9b.service($RequestFilter_12afb45ca9b.java)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.service(One
SearchLocalizationFilter.java:45)
                at
$RequestFilter_12afb45ca9f.service($RequestFilter_12afb45ca9f.java)
                at
$RequestFilter_12afb45ca97.service($RequestFilter_12afb45ca97.java)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErr
orFilter.java:26)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:9
82)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:9
72)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFiles
Filter.java:90)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLR
ewriterRequestFilter.java:50)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFilter.
java:50)
                at
$RequestFilter_12afb45ca9e.service($RequestFilter_12afb45ca9e.java)
                at
$RequestFilter_12afb45ca98.service($RequestFilter_12afb45ca98.java)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckF
orUpdatesFilter.java:90)
                at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckF
orUpdatesFilter.java:80)
                at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(Concurrent
Barrier.java:85)
                at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckFo
rUpdatesFilter.java:103)
                at
$RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
                at
$RequestHandler_12afb45ca91.service($RequestHandler_12afb45ca91.java)
                at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTermin
ator.service(TapestryModule.java:271)
                at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
                at
$HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12
afb45ca93.java)
                at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPat
hsFilter.java:62)
                at
$HttpServletRequestFilter_12afb45ca90.service($HttpServletRequestFilter_12af
b45ca90.java)
                at
$HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12
afb45ca93.java)
                at
com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service(Emai
lHttpServletRequestFilter.java:73)
                at
$HttpServletRequestFilter_12afb45ca8e.service($HttpServletRequestFilter_12af
b45ca8e.java)
                at
$HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12
afb45ca93.java)
                at
com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilter.se
rvice(SiteRedirectHttpServletRequestFilter.java:45)
                at
$HttpServletRequestFilter_12afb45ca8d.service($HttpServletRequestFilter_12af
b45ca8d.java)
                at
$HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12
afb45ca93.java)
                at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:9
26)
                at
$HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12
afb45ca93.java)
                at
$HttpServletRequestHandler_12afb45ca8a.service($HttpServletRequestHandler_12
afb45ca8a.java)
                at
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
.java:1084)
                at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
                at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
                at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
                at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
                at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
                at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
                at org.mortbay.jetty.Server.handle(Server.java:324)
                at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
                at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:
842)
                at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
                at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
                at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
                at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
                at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:4
50)



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


Re: [T5.2] Classloader problem with a service

Posted by Howard Lewis Ship <hl...@gmail.com>.
If you could send me the source code (even privately) of those two
classes, I'd be interested to see. I've been working on the code for
live service reloading, and though I don't think I can hit every case
perfectly, I'd like to hit all the likely ones, such as whatever
you've hit.

The class loader technique Tapestry uses has difficulty with access to
protected (really, non-public) members (constructor, fields and
methods). There's room for me to make it smarter, by doing a bit more
analysis of loaded classes to see if they access non-public members of
other classes (and to extend the class loading umbrella to those
classes as well).

On Fri, Sep 10, 2010 at 5:00 AM, Blower, Andy
<An...@proquest.co.uk> wrote:
> Unfortunately we've got another T5.2 migration issue that I can't figure out. I wonder if this is to do with the service class reloading added in 5.2 - is there a way of disabling it to check?
>
> I've posted the error trace below, basically a service (ScholarUniverseSearchEngine) is trying to create a class (ScholarUniverseResultsList) and failing because there seems to be 2 different versions of the service in different classloaders. It's really puzzling because this service and class is copied from another that does the exact same thing and still works okay. I tried running it by deploying a war to a standalone tomcat, and it's fine. It just seems to be a problem when running from within Eclipse using runjettyrun. We'll try some more combinations out, but if anyone can help with this it would be great.
>
>
> ERROR [11:53:15,737] btpool0-6 (services.TapestryModule.RequestExceptionHandler:62) - Processing of request failed with uncaught exception: loader constraint violation: when resolving method "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResultsList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;Ljava/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V" the class loader (instance of org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingClassLoader) of the current class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for resolved class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResultsList, have different Class objects for the type com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine used in the signature
> java.lang.LinkageError: loader constraint violation: when resolving method "com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseResultsList.<init>(Lcom/proquest/apps/corelib/search/QueryData;Ljava/lang/String;Ljava/lang/String;Lcom/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine;Lcom/proquest/apps/corelib/config/ProductConfig;)V" the class loader (instance of org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator$ReloadingClassLoader) of the current class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine, and the class loader (instance of runjettyrun/ProjectClassLoader) for resolved class, com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseResultsList, have different Class objects for the type com/proquest/apps/corelib/search/impl/scholaruniverse/ScholarUniverseSearchEngine used in the signature
>                at com.proquest.apps.corelib.search.impl.scholaruniverse.ScholarUniverseSearchEngine.executeSearch(ScholarUniverseSearchEngine.java:146)
>                at $SearchEngine_12afb45d215.executeSearch($SearchEngine_12afb45d215.java)
>                at Invocation$SearchEngine$executeSearch$12afb462907.invokeDelegateMethod(Invocation$SearchEngine$executeSearch$12afb462907.java)
>                at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:124)
>                at com.proquest.apps.onesearch.stats.ProfileAdvice.advise(ProfileAdvice.java:33)
>                at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:128)
>                at $SearchEngine_12afb45d216.executeSearch($SearchEngine_12afb45d216.java)
>                at $SearchEngine_12afb45cd44.executeSearch($SearchEngine_12afb45cd44.java)
>                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.handleSearchFormSubmission(ScholarUniverseBasic.java:132)
>                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic$MethodAccess_handleSearchFormSubmission_12afb45cd45.invoke(ScholarUniverseBasic$MethodAccess_handleSearchFormSubmission_12afb45cd45.java)
>                at org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
>                at org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
>                at org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
>                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
>                at com.proquest.apps.onesearch.components.scholaruniverse.ScholarUniverseBasic.dispatchComponentEvent(ScholarUniverseBasic.java)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:942)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
>                at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>                at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>                at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
>                at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:287)
>                at org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:548)
>                at org.apache.tapestry5.corelib.components.Form$onAction$invocation_12afb463c82.invokeAdvisedMethod(Form$onAction$invocation_12afb463c82.java)
>                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:77)
>                at org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
>                at org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
>                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
>                at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
>                at org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12afb45cb89.invoke(Form$MethodAccess_onAction_12afb45cb89.java)
>                at org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
>                at org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
>                at org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
>                at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
>                at org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:950)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074)
>                at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>                at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>                at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141)
>                at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073)
>                at org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81)
>                at org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
>                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
>                at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
>                at org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2567)
>                at $ComponentEventRequestHandler_12afb45ccf0.handle($ComponentEventRequestHandler_12afb45ccf0.java)
>                at $ComponentEventRequestHandler_12afb45ccec.handle($ComponentEventRequestHandler_12afb45ccec.java)
>                at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
>                at org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
>                at $ComponentRequestHandler_12afb45cced.handleComponentEvent($ComponentRequestHandler_12afb45cced.java)
>                at $ComponentRequestHandler_12afb45cacb.handleComponentEvent($ComponentRequestHandler_12afb45cacb.java)
>                at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
>                at $Dispatcher_12afb45cacc.dispatch($Dispatcher_12afb45cacc.java)
>                at $Dispatcher_12afb45ca9c.dispatch($Dispatcher_12afb45ca9c.java)
>                at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:320)
>                at com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule.java:518)
>                at $RequestFilter_12afb45ca9b.service($RequestFilter_12afb45ca9b.java)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.service(OneSearchLocalizationFilter.java:45)
>                at $RequestFilter_12afb45ca9f.service($RequestFilter_12afb45ca9f.java)
>                at $RequestFilter_12afb45ca97.service($RequestFilter_12afb45ca97.java)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:982)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:972)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:50)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFilter.java:50)
>                at $RequestFilter_12afb45ca9e.service($RequestFilter_12afb45ca9e.java)
>                at $RequestFilter_12afb45ca98.service($RequestFilter_12afb45ca98.java)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
>                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
>                at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>                at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
>                at $RequestHandler_12afb45ca9d.service($RequestHandler_12afb45ca9d.java)
>                at $RequestHandler_12afb45ca91.service($RequestHandler_12afb45ca91.java)
>                at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:271)
>                at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
>                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
>                at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>                at $HttpServletRequestFilter_12afb45ca90.service($HttpServletRequestFilter_12afb45ca90.java)
>                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
>                at com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service(EmailHttpServletRequestFilter.java:73)
>                at $HttpServletRequestFilter_12afb45ca8e.service($HttpServletRequestFilter_12afb45ca8e.java)
>                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
>                at com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilter.service(SiteRedirectHttpServletRequestFilter.java:45)
>                at $HttpServletRequestFilter_12afb45ca8d.service($HttpServletRequestFilter_12afb45ca8d.java)
>                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
>                at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:926)
>                at $HttpServletRequestHandler_12afb45ca93.service($HttpServletRequestHandler_12afb45ca93.java)
>                at $HttpServletRequestHandler_12afb45ca8a.service($HttpServletRequestHandler_12afb45ca8a.java)
>                at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
>                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>                at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>                at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>                at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>                at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>                at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>                at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>                at org.mortbay.jetty.Server.handle(Server.java:324)
>                at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>                at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>                at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>                at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>                at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>                at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>                at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

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