Thanks Raymond, I forgot about that.  Problem 1 solved.

On Fri, Dec 9, 2011 at 10:37 AM, Raymond Feng <[email protected]> wrote:

> We already support the ranking attribute for all service provider
> declarations. If one provider is expected, the highest one will be used.
>
> Raymond Feng
> Sent from my iPhone
>
> On Dec 9, 2011, at 7:29 AM, Greg Dritschler <[email protected]>
> wrote:
>
> > I'm trying to replace some of Tuscany's service provider files, or in
> some cases remove them.  I've been struggling with this for a while and
> thought I'd toss it out for discussion.  Here are examples.
> >
> > 1) I want to replace the RequestContextFactory provider.  Tuscany finds
> a provider file using ServiceDiscoverer.getServiceDeclaration().  As far as
> I can tell, when there are multiple provider files, both
> EquinoxServiceDiscoverer and ContextClassLoaderServiceDiscoverer pick the
> first one found and there's no way to control which one that will be.  I
> think there needs to be some way to control order.  Perhaps the service
> declaration should have a weight attribute and getServiceDeclaration()
> should pick the one with the highest weight.
> >
> > 2) I want to replace an implementation type in one of Tuscany's
> definitions file.  Tuscany finds Definitions providers using
> ServiceDiscoverer.getServiceDeclarations().  Again, there's no way to
> control order, so here too a weight attribute might be useful.
>  (PullTransformer already uses a "weight" attribute for a different purpose
> so it might have to be called something else.)  The other problem is that
> Tuscany issues a warning when there are duplicate definitions.  I think
> there would need to be some way to suppress that but I'm not sure how.  I
> wouldn't want to lose the warning altogether because in some cases it might
> be useful.  Also I wouldn't want application definitions to be able to
> replace system definitions, which could happen if we're not careful about
> this.
> >
> > 3) I want to eliminate certain Tuscany policy providers, for example
> JaasAuthenticationPolicyProviderFactory and
> JMSTokenAuthenticationPolicyProviderFactory, either because I have
> alternative providers or I don't want to support the function.  However
> these providers are bundled with other classes I do need.  I think in this
> case the simplest thing to do is to separate the policy functionality into
> another Tuscany bundle.
> >
> > Greg
>

Reply via email to