Hi Kris, yes, moving the class to the service package below the one pointed to by tapestry.app-package solved the problem!
Thanks very much! Regards. Udo. -------- Original-Nachricht -------- > Datum: Tue, 15 Jul 2008 09:16:50 +0200 > Von: Kristian Marinkovic <[EMAIL PROTECTED]> > An: "Tapestry users" <users@tapestry.apache.org> > Betreff: Re: Antwort: Re: TapestryFilter subclassing problem > hi udo, > > i dont see what the problem is. it seems like the ioc > container has problems to build the ServletApplicationInitializer > service. i just extended my own TapestryFilter with an empty > init method and everything works as expected. > > if you look at the stacktrace you'll see that the > tapestryFilter tries to obtain the above mentioned > service from the registry. > > ServletApplicationInitializer ai = > registry.getService("ServletApplicationInitializer" > ,ServletApplicationInitializer.class); > > may be you have a classloading problem here. where (package) > did you put your implementation of your filter? where > does the tapestry.app-package parameter point to? > i put my filter into my.package.structure.services whereas > web.xml points to my.package.structure > > > g, > kris > > > > > "Udo Abel" <[EMAIL PROTECTED]> > 14.07.2008 16:05 > Bitte antworten an > "Tapestry users" <users@tapestry.apache.org> > > > An > "Tapestry users" <users@tapestry.apache.org> > Kopie > > Thema > Re: Antwort: Re: TapestryFilter subclassing problem > > > > > > > > Hi Kris, > thanks for your help. The stack trace is quite long, I hope this part > conatins more clues: > > ERROR main org.mortbay.log - failed PostConERP > java.lang.RuntimeException: Error building service proxy for service > 'ServletApplicationInitializer' (at > org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, > List, ApplicationInitializer) (at TapestryModule.java:951)): argument type > mismatch > at > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:245) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:163) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:91) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:299) > at > org.apache.tapestry5.ioc.internal.RegistryWrapper.getService(RegistryWrapper.java:53) > at > org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:82) > at > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) > at > org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > at > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216) > at > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509) > at > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) > at org.mortbay.jetty.Server.doStart(Server.java:222) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at runjettyrun.Bootstrap.main(Bootstrap.java:76) > Caused by: java.lang.RuntimeException: argument type mismatch > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:382) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxy(ModuleImpl.java:335) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:227) > ... 17 more > Caused by: java.lang.IllegalArgumentException: argument type mismatch > at > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at > java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:376) > ... 19 more > ERROR main org.mortbay.log - Failed startup of context > [EMAIL PROTECTED]/PostConERP,webapp/PostConERP} > java.lang.RuntimeException: Error building service proxy for service > 'ServletApplicationInitializer' (at > org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, > List, ApplicationInitializer) (at TapestryModule.java:951)): argument type > mismatch > at > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:245) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:163) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:91) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:299) > at > org.apache.tapestry5.ioc.internal.RegistryWrapper.getService(RegistryWrapper.java:53) > at > org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:82) > at > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) > at > org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > at > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216) > at > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509) > at > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) > at org.mortbay.jetty.Server.doStart(Server.java:222) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) > at runjettyrun.Bootstrap.main(Bootstrap.java:76) > Caused by: java.lang.RuntimeException: argument type mismatch > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:382) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxy(ModuleImpl.java:335) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:227) > ... 17 more > Caused by: java.lang.IllegalArgumentException: argument type mismatch > at > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at > java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.tapestry5.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:376) > ... 19 more > > -------- Original-Nachricht -------- > > Datum: Mon, 14 Jul 2008 14:51:42 +0200 > > Von: Kristian Marinkovic <[EMAIL PROTECTED]> > > An: "Tapestry users" <users@tapestry.apache.org> > > Betreff: Antwort: Re: TapestryFilter subclassing problem > > > hi, Udo, > > > > seems to be correct. > > > > i created an own filter for my testcases exactly as you > > described it. and everything works fine for me. > > > > can you post more of your stackstrace? > > > > g, > > kris > > > > > > > > > > "Udo Abel" <[EMAIL PROTECTED]> > > 14.07.2008 13:59 > > Bitte antworten an > > "Tapestry users" <users@tapestry.apache.org> > > > > > > An > > "Tapestry users" <users@tapestry.apache.org> > > Kopie > > > > Thema > > Re: TapestryFilter subclassing problem > > > > > > > > > > > > > > > > Hi Kris, > > > > maybe my understanding is wrong. To be clear: > > what I've tried is to implement this class: > > > > public class ErpTapestryFilter extends TapestryFilter { > > > > protected void init(Registry registry) { > > // .. do some initialization > > } > > > > } > > > > and replaced the "TapestryFilter" with my "ErpTapestryFilter" in the > > web.xml. > > The result should be that the following method from TapestryFiler should > > > be overriden: > > > > /** > > * Invoked from [EMAIL PROTECTED] #init(FilterConfig)} after the > > Registry has > > been created, to allow any additional > > * initialization to occur. This implementation does nothing, and my > > > be overriden in subclasses. > > * > > * @param registry from which services may be extracted > > * @throws ServletException > > */ > > protected void init(Registry registry) throws ServletException > > { > > > > } > > > > What's wrong with that? Does "...maybe overriden in subclasses" mean: > > "...in tapestry-internal subclasses" ? > > > > Thanks, > > Udo. > > > > > > -------- Original-Nachricht -------- > > > Datum: Mon, 14 Jul 2008 13:40:42 +0200 > > > Von: Kristian Marinkovic <[EMAIL PROTECTED]> > > > An: "Tapestry users" <users@tapestry.apache.org> > > > Betreff: Re: TapestryFilter subclassing problem > > > > > Hi Udo, > > > > > > take a closer look at your code. the init() method > > > you override is not the one from the Filter!! > > > > > > it is a method to add additional inits AFTER the > > > Registry has been started. > > > > > > take a look at org.apache.tapestry5.TapestryFilter.java > > > > > > btw. you cannot override init() because it is marked final. > > > > > > g, > > > kris > > > > > > > > > > > > > > > "Udo Abel" <[EMAIL PROTECTED]> > > > 14.07.2008 08:55 > > > Bitte antworten an > > > "Tapestry users" <users@tapestry.apache.org> > > > > > > > > > An > > > <users@tapestry.apache.org> > > > Kopie > > > > > > Thema > > > TapestryFilter subclassing problem > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > when I try to subclass TapestryFilter to do some initialization in the > > > > overridden init(), I get a runtime exception during filter start: > > > > > > ERROR main org.mortbay.log - failed TapTest > > > java.lang.RuntimeException: Error building service proxy for service > > > 'ServletApplicationInitializer' (at > > > > > > org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, > > > List, ApplicationInitializer) (at TapestryModule.java:951)): argument > > type > > > mismatch > > > at > > > > org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:245) > > > > > > even though the overridden method is yet empty. > > > > > > Using Tapestry 5.0.13. > > > > > > Is there anything else to do than subclassing the TapestryFilter and > > using > > > it in the web.xml? > > > > > > Thanks, > > > Udo. > > > > > > > > > -- > > > Psssst! Schon das coole Video vom GMX MultiMessenger gesehen? > > > Der Eine für Alle: http://www.gmx.net/de/go/messenger03 > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > -- > > GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! > > Jetzt dabei sein: > > http://www.shortview.de/[EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- > GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry > Passion! > http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]