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.blo...@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-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to