Hi Fred, I recalled we had a similar discussion before. In your code snippet 
below, the logging interceptors will be installed twice. I wont say <cxf:bus> 
is a root scope configuration as there is no hierarchy relationships among bus, 
endpoints and bindings. Bus, endpoints and bindings are just individual 
components that can contribute interceptors, some times a same bus instance can 
be shared by multiple services but this wont necessarily make it a root 
configuration. Bindings can be shared by multiple services as well. What you 
required, "if a  feature is defined at endpoint granularity, that feature is 
the  effective feature in config, whereas if there is no such config at  
endpoint granularity, the runtime would fall back to the Bus config", is really 
a scope-based configuration. This is no such thing existing yet in CXF. I 
wonder can this be done through WS-Policy? I.e., I can make some assertions 
like this: " I want to apply this feature to endpoint A and B" or "I want this 
feature applied to all my endpoints by default if there is no overridden 
feature defined for the individual endpoint". Thoughts?

Jervis

> -----Original Message-----
> From: Fred Dushin [mailto:[EMAIL PROTECTED]
> Sent: 2007?8?29? 2:52
> To: [email protected]
> Subject: Bus Features [was: Logging ...]
> 
> 
> 
> On Aug 24, 2007, at 11:36 AM, Daniel Kulp wrote:
> 
> >     <cxf:bus>
> >         <cxf:features>
> >             <cxf:logging/>
> >         </cxf:features>
> >     </cxf:bus>
> 
> How do Bus-level features interact with endpoint- or client-level  
> features?  For example, if I have
> 
> {{{
> <cxf:bus>
>      <cxf:features>
>          <cxf:foo/>
>      </cxf:features>
> </cxf:bus>
> 
> <jaxws:endpoint name="{http://foo.bar.com}FUBAR";>
>      <cxf:features>
>          <cxf:foo/>
>      </cxf:features>
> </jaxws:endpoint>
> }}}
> 
> and a servant is instantiated under the WSDL Port 
> {http://foo.bar.com} 
> FUBAR, is a feature instantiated twice, once for the Bus, qua  
> InterceptorProvider, and once for the Endpoint, qua 
> InterceptorProvider?
> 
> If it's instantiated twice, is there any way a feature 
> implementor to  
> traverse the interceptors on each InterceptorProvider, to see if a  
> feature has been installed, or are these interceptor lists  
> independent of one another?
> 
> (The reason I ask is, there might be a tendency to think of the  
> feature config on the Bus as a kind of default, such that if a  
> feature is defined at endpoint granularity, that feature is the  
> effective feature in config, whereas if there is no such config at  
> endpoint granularity, the runtime would fall back to the Bus 
> config.   
> But I'm guessing that's really not the behavior here, is it?)
> 
> Thanks!
> -Fred
> 

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to