If you need a page instance, you need to go through the appropriate Tapestry services ... unfortunately, some of them are internal. Nonetheless, Tapestry enforces a specific lifecycle on Tapestry pages and components and if you attempt to instantiate them directly you will fail.
If you have common logic, put it in services, not on pages if at all possible. That's what the IoC container if for. Pages should be thin layers between the world of HTML and HTTP and the world of services (whether T5 IoC, Spring or other). On Dec 6, 2007 10:35 AM, Britske <[EMAIL PROTECTED]> wrote: > > I created a class PageRegistry and defined it in Spring. I use @Inject to > inject the singleton-instance of this class. (This worked before with other > classes). > > in the constructor of PageRegistry I fill a map with page-instances. (So > that i can access some methods of a page when I dont have access to a > specific instance, ad having static-methods doesn't cut it. ) > > At that point I get a violates loader constraints-error on component > QuickFormAllResults. (A component which is contained by a couple of those > pages). > > What's happing here? Is instantiating page-instances in a ioc-injected > class-instance impossible or something? > > Thanks, > Geert-Jan > > complete stacktrace: > java.lang.LinkageError: Class <cut>/components/QuickFormAllResults violates > loader constraints > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:620) > at java.lang.ClassLoader.defineClass(ClassLoader.java:465) > at javassist.Loader.findClass(Loader.java:379) > at > org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:85) > at javassist.Loader.loadClass(Loader.java:311) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:254) > at > org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:240) > at > $ComponentInstantiatorSource_116b0b3a7be.findInstantiator($ComponentInstantiatorSource_116b0b3a7be.java) > at > org.apache.tapestry.internal.services.PageElementFactoryImpl.newComponentElement(PageElementFactoryImpl.java:268) > at > $PageElementFactory_116b0b3a7e8.newComponentElement($PageElementFactory_116b0b3a7e8.java) > at > org.apache.tapestry.internal.services.PageLoaderProcessor.startComponent(PageLoaderProcessor.java:618) > at > org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForComponent(PageLoaderProcessor.java:498) > at > org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQueue(PageLoaderProcessor.java:714) > at > org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:392) > at > org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:59) > at $PageLoader_116b0b3a7e6.loadPage($PageLoader_116b0b3a7e6.java) > at > org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:70) > at $PagePool_116b0b3a7e5.checkout($PagePool_116b0b3a7e5.java) > at > org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:44) > at > $RequestPageCache_116b0b3a7e4.get($RequestPageCache_116b0b3a7e4.java) > at > $RequestPageCache_116b0b3a7bb.get($RequestPageCache_116b0b3a7bb.java) > at > org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55) > at > $PageRenderRequestHandler_116b0b3a7dd.handle($PageRenderRequestHandler_116b0b3a7dd.java) > at > org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:72) > at $Dispatcher_116b0b3a7e0.dispatch($Dispatcher_116b0b3a7e0.java) > at $Dispatcher_116b0b3a7d3.dispatch($Dispatcher_116b0b3a7d3.java) > at > org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:1108) > at com.wrappt.aroer.services.AppModule$3.service(AppModule.java:194) > at $RequestFilter_116b0b3a7d1.service($RequestFilter_116b0b3a7d1.java) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at com.wrappt.aroer.services.AppModule$4.service(AppModule.java:215) > at $RequestFilter_116b0b3a7d2.service($RequestFilter_116b0b3a7d2.java) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at > org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at > org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:688) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at > org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:84) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97) > at > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88) > at > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) > at > org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110) > at > $RequestHandler_116b0b3a7d4.service($RequestHandler_116b0b3a7d4.java) > at > $RequestHandler_116b0b3a7cb.service($RequestHandler_116b0b3a7cb.java) > at > org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:1086) > at > $HttpServletRequestHandler_116b0b3a7ca.service($HttpServletRequestHandler_116b0b3a7ca.java) > at > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:595) > -- > View this message in context: > http://www.nabble.com/t5%3A-violates-loader-constraints-error-when-loading-pages-into-ioc-injected-class-instance-tf4957822.html#a14198391 > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship TWD Consulting, Inc. Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]