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]

Reply via email to