Fernando, I do use the @SubModule as I build a TapestryBase module on which I build a few other applications. I'll also have a try at isolating the problem and reproducing it in a few days. (I'm currently on the road)
I've been able to not worry too much as I'm working on other parts of my app where I don't need the tapestry-upload package, but I doubt this is an option for my production server ;-) cheers, Joost On Fri, Jan 16, 2009 at 12:11 AM, Fernando Padilla <[email protected]> wrote: > I would love to, but no (i feel embarassed). I'm not even sure what is > going on, and others can't seem to reproduce, it might be some weird > classloader issue, or the random order that tapestry loads modules, or > whatever. and I can't submit my whole webapp. :) > > But if you read the bug, and audit the code, there are arguments to be made > that it's buggy, and should be changed, even without a unit test... > > > Joost, are you using @SubModule anywhere? (trying to find clues) > > > > On 1/15/09 8:45 AM, Christian Edward Gruber wrote: >> >> Can you write a unit test that reproduces it and submit that to JIRA >> with your patch? >> >> Christian. >> >> On 15-Jan-09, at 11:40 , Fernando Padilla wrote: >> >>> Yes I found the issue and submitted a patch in that bug. A simple 2 >>> line change, but Howard can't reproduce it in the unit tests.. so he >>> ignored it. :( :( :( >>> >>> You should go comment/vote/watch that bug, to get howards attention; >>> that I'm not crazy. :) >>> >>> It might ultimately be some weird interaction in how modules are being >>> loaded up, which would be hard to reproduce in unit tests.. but >>> conceptually, just reading the code, I still think it's a bug. >>> >>> https://issues.apache.org/jira/browse/TAP5-443 >>> >>> >>> >>> On 1/15/09 3:15 AM, Joost Schouten (mailing lists) wrote: >>>> >>>> Though the JIRA issue states this is resolved, I have this same >>>> problem. When I pull tapestry-upload out of my dependencies, all is >>>> fine. But I need it there ;-) >>>> >>>> Fernando: Did you manage to find out what was wrong on your end or are >>>> you still battling this? >>>> >>>> Cheers, >>>> Joost >>>> >>>> On Fri, Jan 9, 2009 at 1:19 PM, Fernando Padilla<[email protected]> >>>> wrote: >>>>> >>>>> I think I just figured out the bug in tapestry: >>>>> >>>>> https://issues.apache.org/jira/browse/TAP5-443 >>>>> >>>>> Could you review and apply the patch?? >>>>> >>>>> >>>>> >>>>> Fernando Padilla wrote: >>>>>> >>>>>> Are the issues fixed? >>>>>> >>>>>> I am doing a clean build from svn/trunk, and I still see this issue. >>>>>> >>>>>> At the bottom of the email, is a slightly better styled version of the >>>>>> logs. But here are some possible issues: >>>>>> >>>>>> Should ComponentEventRequestHandlerImpl mark both @Traditional and >>>>>> @Primary, for the the resultProcessor?? >>>>>> >>>>>> class ComponentEventRequestHandlerImpl { >>>>>> public ComponentEventRequestHandlerImpl( >>>>>> @Traditional @Primary >>>>>> ComponentEventResultProcessor resultProcessor, >>>>>> >>>>>> RequestPageCache cache, Response response, >>>>>> >>>>>> ActionRenderResponseGenerator generator, >>>>>> >>>>>> Environment environment) >>>>>> { >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> Is TapestryModule trying to be too cute in referencing >>>>>> ComponentInstanceResultProcessor. It registers it as generic >>>>>> ComponentEventResultProcessor, but then tries to refer to it >>>>>> explicitly by >>>>>> using markers @Traditional @ComponentInstanceProcessor. Why not >>>>>> just refer >>>>>> to it, via direct type or service name >>>>>> ComponentInstanceResultProcessor. >>>>>> >>>>>> class TapestryModule { >>>>>> public bind(){ >>>>>> binder.bind(ComponentEventResultProcessor.class, >>>>>> ComponentInstanceResultProcessor.class).withId( >>>>>> "ComponentInstanceResultProcessor"); >>>>>> } >>>>>> >>>>>> public void contributeComponentEventResultProcessor( >>>>>> @Traditional @ComponentInstanceProcessor >>>>>> ComponentEventResultProcessor componentInstanceProcessor, >>>>>> >>>>>> MappedConfiguration<Class, ComponentEventResultProcessor> >>>>>> configuration) >>>>>> {... >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Here is a slightly better styled version of the logs: >>>>>> >>>>>> >>>>>> Unable to locate a single service assignable to type >>>>>> org.apache.tapestry5.services.ComponentEventResultProcessor with >>>>>> marker >>>>>> annotation(s) org.apache.tapestry5.services.Traditional. All of the >>>>>> following services match: >>>>>> >>>>>> org.apache.tapestry5.internal.services.ComponentInstanceResultProcessor(Logger, >>>>>> >>>>>> RequestPageCache, ActionRenderResponseGenerator) (at >>>>>> ComponentInstanceResultProcessor.java:38) via >>>>>> org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at >>>>>> TapestryModule.java:148), >>>>>> >>>>>> org.apache.tapestry5.services.TapestryModule.buildComponentEventResultProcessor(Map) >>>>>> >>>>>> (at TapestryModule.java:1097). >>>>>> >>>>>> [ 1] Realizing service ComponentEventRequestHandler >>>>>> [ 2] Invoking >>>>>> >>>>>> org.apache.tapestry5.services.TapestryModule.buildComponentEventRequestHandler(List, >>>>>> >>>>>> Logger, ComponentEventRequestHandlerImpl) (at >>>>>> TapestryModule.java:1290) >>>>>> [ 3] Determining injection value for parameter #1 (java.util.List) >>>>>> [ 4] Collecting ordered configuration for service >>>>>> ComponentEventRequestHandler >>>>>> [ 5] Invoking method >>>>>> >>>>>> org.apache.tapestry5.upload.services.UploadModule.contributeComponentEventRequestHandler(OrderedConfiguration, >>>>>> >>>>>> ObjectLocator) (at UploadModule.java:94). >>>>>> [ 6] Determining injection value for parameter #2 >>>>>> (org.apache.tapestry5.services.ComponentEventResultProcessor) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Howard Lewis Ship wrote: >>>>>>> >>>>>>> There were problems in the nightly build, so there's a slightly >>>>>>> mismatched set of modules there. >>>>>>> >>>>>>> On Wed, Jan 7, 2009 at 11:25 AM, Fernando Padilla<[email protected]> >>>>>>> wrote: >>>>>>>> >>>>>>>> We came in this morning and now tapestry won't run properly :( >>>>>>>> >>>>>>>> We keep getting this exception.. any ideas what could be going on? >>>>>>>> (we're >>>>>>>> pointing to the snapshot repository) >>>>>>>> >>>>>>>> >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - Unable to locate a single service assignable to type >>>>>>>> org.apache.tapestry5.services.ComponentEventResultProcessor with >>>>>>>> marker >>>>>>>> annotation(s) org.apache.tapestry5.services.Traditional. All of the >>>>>>>> following services match: >>>>>>>> >>>>>>>> >>>>>>>> org.apache.tapestry5.internal.services.ComponentInstanceResultProcessor(Logger, >>>>>>>> >>>>>>>> RequestPageCache, ActionRenderResponseGenerator) (at >>>>>>>> ComponentInstanceResultProcessor.java:38) via >>>>>>>> org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at >>>>>>>> TapestryModule.java:147), >>>>>>>> >>>>>>>> >>>>>>>> org.apache.tapestry5.services.TapestryModule.buildComponentEventResultProcessor(Map) >>>>>>>> >>>>>>>> (at TapestryModule.java:1066). >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - Operations trace: >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 1] Realizing service ComponentEventRequestHandler >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 2] Invoking >>>>>>>> >>>>>>>> >>>>>>>> org.apache.tapestry5.services.TapestryModule.buildComponentEventRequestHandler(List, >>>>>>>> >>>>>>>> Logger, ComponentEventRequestHandlerImpl) (at >>>>>>>> TapestryModule.java:1259) >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 3] Determining injection value for parameter #1 (java.util.List) >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 4] Collecting ordered configuration for service >>>>>>>> ComponentEventRequestHandler >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 5] Invoking method >>>>>>>> >>>>>>>> >>>>>>>> org.apache.tapestry5.upload.services.UploadModule.contributeComponentEventRequestHandler(OrderedConfiguration, >>>>>>>> >>>>>>>> ObjectLocator) (at UploadModule.java:94). >>>>>>>> 2009-01-07 11:23:06,395 [btpool0-1] ERROR >>>>>>>> org.apache.tapestry5.ioc.Registry >>>>>>>> - [ 6] Determining injection value for parameter #2 >>>>>>>> (org.apache.tapestry5.services.ComponentEventResultProcessor) >>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> >>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> Christian Edward Gruber >> [email protected] >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
