You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Raymond Feng <en...@gmail.com> on 2009/09/04 20:24:35 UTC
Re: Adding phase-based ordering support for invokers/interceptors in the InvocationChain
Hi,
A few more points to make:
1) There are a set of built-in phases defined in
org.apache.tuscany.sca.invocation.Phase. You can just use them unless they
don't fit your needs.
2) Tuscany supports declarative approach to add interceptors via
ProviderFactoryExtensionPoint. You can implement PolicyProviderFactory and
register it using
META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory
file. See
tuscany-policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory.
We can also add a new extension point if we see such needs to add
cross-cutting interceptors in a more general way than policies. If you can
share some of the usage scenarios, it will be helpful for us to come up a
good plug point.
Thanks,
Raymond
--------------------------------------------------
From: "Smith, Alfred" <Al...@gdit.com>
Sent: Friday, September 04, 2009 10:57 AM
To: "Raymond Feng" <en...@gmail.com>
Subject: RE: Adding phase-based ordering support for invokers/interceptors
in the InvocationChain
> Thank you very much!
>
> Coming from a Spring background I was expecting it to be a simple XML
> configuration, that used on AOP. Tuscany interceptors seem more
> complex, but maybe it's because I'm a newbie on a deadline. I'll dive
> into information you provided and see what I can make happen!
>
> Once again, thanks for your TIME!
>
> Cheers,
> Al
>
> -----Original Message-----
> From: Raymond Feng [mailto:enjoyjava@gmail.com]
> Sent: Friday, September 04, 2009 10:46 AM
> To: Smith, Alfred
> Subject: Re: Adding phase-based ordering support for
> invokers/interceptors in the InvocationChain
>
> Hi,
>
> Adding an interceptor to the invocation chain at certain phase is
> considered
> as a task to extend Tuscany. There are two steps involved.
>
> 1) Defining a new phase. You can add an extension module and declare the
>
> phases in the file named as
> META-INF/services/org.apache.tuscany.sca.invocation.Phase. An example
> can be
> found at
> /tuscany-core/src/test/resources/META-INF/services/org.apache.tuscany.sc
> a.invocation.PhaseTest.
>
> 2) Adding the interceptor to the invocation chain at the given phase.
> You
> use the
> org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint or
> org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint to add
> your
> interceptors.
>
> An example:
> org.apache.tuscany.sca.core.databinding.wire.DataBindingRuntimeWireProce
> ssor.
>
> This processor is registered using a module activator:
> org.apache.tuscany.sca.core.databinding.module.DataBindingModuleActivato
> r
>
> Thanks,
> Raymond
>
> From: Smith, Alfred
> Sent: Friday, September 04, 2009 10:06 AM
> To: enjoyjava@gmail.com
> Subject: Adding phase-based ordering support for invokers/interceptors
> in
> the InvocationChain
>
>
> Hello Raymond,
>
> I came across your posting about adding invokers and interceptors to
> SCA/Tuscany InvocationChain which is something I'm trying to accomplish
> right now. Unfortunately, the only examples I've located are box
> diagrams,
> but no real composite examples. If you could provide me with a simple
> code
> snippet of how to configure an invoker/interceptor into the
> InvocationChain
> I'd really appreciate it.
>
> Cheers,
> Al
>