On Jun 20, 2007, at 10:09 PM, Dan Diephouse wrote:

Are you thinking about a case where two features might add the same
interceptors to an InterceptorProvider? Can you explain a little bit more
the case where multiple features are adding the same interceptors to a
Bus/Client/Server?

Exactly. E.g., what would happen in the following case (where we have a fictional cxf:bus feature):

{{{
<cxf:bus>
    <jaxws:features>
       <acme:MyFeature ... />
    </jaxws:features>
</cxf:bus>

<jaxws:endpoint name="{http://www.acme.com}WhizzBangPort";>
    <jaxws:features>
       <acme:MyFeature ... />
    </jaxws:features>
</jaxws:endpoint>
}}}

Is there one feature instance installed, or 2?

Maybe we need a notion of default features, as in

{{{
<cxf:bus>
    <jaxws:defaultFeatures>
       <acme:MyFeature ... />
    </jaxws:defaultFeatures>
</cxf:bus>
}}}

which are only installed if they are not explicitly overridden by an endpoint or client feature, but I don't think implementing that is trivial, since the runtime doesn't really know anything about features, per se. It just knows what interceptors are.

/Fred

Reply via email to