[
https://issues.apache.org/jira/browse/TAP5-1305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16222386#comment-16222386
]
Thiago H. de Paula Figueiredo commented on TAP5-1305:
-----------------------------------------------------
I've just noticed the same fix wasn't applied to service advice, and it should
have been.
> Service decorations can fail if using the conventional naming
> -------------------------------------------------------------
>
> Key: TAP5-1305
> URL: https://issues.apache.org/jira/browse/TAP5-1305
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-ioc
> Affects Versions: 5.1.0.4
> Reporter: Dan Adams
> Assignee: Thiago H. de Paula Figueiredo
> Labels: month-of-tapestry
> Fix For: 5.4
>
>
> If you have a service FooBar and 2 modules that each have:
> public static FooBar decorateFooBar(FooBar delegate, ...)
> you will get a logging message like this:
> [WARN] com.example.services.BazModule.FooBar Could not add object with
> duplicate id 'FooBar'. The duplicate object has been ignored.
> which results in one of the contributions (you don't know which one) being
> dropped. This is because T5 uses an ordered contribution internally when
> collecting the contributions and bases the id of the contribution based on
> the method name (drops "decorate").
> It should either fail with an exception and a good error or support this
> behaviour. The problematic line is RegistryImpl.findDecoratorsForService
> (line 634).
> The work-around is to use @Match("FooBar") on the method and name it
> something different such as "decoratingWithMyThingy".
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)