On Wed, 02 Oct 2013 05:06:34 -0300, Alessio Gambi <alessioga...@gmail.com> wrote:

Hi,

Hi!

        @Advise(serviceInterface = ServiceUpdater.class)
        @Match("*")

You're using two different ways of filtering what services you want advised. You don't need @Match here, as you only want services that implement ServiceUpdater. Please try with just @Advise and let us know what happens.

Of course, I think this is a bug, as @Advise is being ignored. Tapestry should apply both filters or raise an error when both annotations are used in the same method.

At the moment, the ServiceUpdater interface is implemented only by one class, i.e., ServiceUpdaterImpl, but in the module I have two build* methods that have different dependencies injected:

So you actually have two different services that implement the ServiceUpdater interface. ;)

I know I can refine the condition inside the @Match annotation to something like "*ServiceUpdater" but I prefer to use the ServiceInterface.class as "filter".

So don't use @Match! :D Why are you using it? Just curious. :)

Can someone shed some light here ? Is that a bug ? a misuse of the annotations ?

I'd vote for misuse. :P

--
Thiago H. de Paula Figueiredo

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to