I would agree with making them consistent (deferring to your judgment of
the actual ordering), but one concern I would have would be about
backward compatibility--i.e., the interceptors no longer being activated
in the order the users are expecting as a result of this switch.  Of
course, getting the system running right is more important, but just an
issue to think about.

Glen


2008-06-06 Daniel Kulp wrote:
> I'm trying to dig into CXF-1547 to try and get the "proper" fix in  
> place.     Basically, I'm trying to make sure all the  
> InterceptorProviders are properly examined and in a consistent  
> order.    We basically have 5 interceptor providers:
> 
> Endpoint
> Binding
> Service
> Bus
> Client  (client side only)
> 
> 
> On the server side, they are evaluated in this order:
> In:  bus, endpoint, binding, service
> Out: endpoint, service, bus, binding
> Fault: endpoint, binding, service, bus
> 
> On the client side:
> In: bus, endpoint, client, binding
> Out: bus, endpoint, client, binding
> Fault: endpoint, binding, service, bus
> 
> 
> Things to note:
> Client side doesn't look at the Service at all except for faults. We  
> definitely need to fix that.
> Server side uses different ordering for all three chains.
> 
> 
> I'd like to make this completely consistent.   I want to make it:
> 
> Server:   bus, binding, endpoint, service
> Client:    bus, binding, endpoint, service, client
> 
> Or:
> Server: bus, service, endpoint, binding
> Client: bus, client, service, endpoint, binding
> 
> 
> Any opinions or objections?    Looking through things, I'm leaning  
> toward the second option.   It LOOKS like the binding seems to define  
> the most "addAfter" interceptors which cause more work when building  
> the InterceptorChain if they are already in the chain.   Thus, putting  
> them at the end may perform the best.   I may run some checks to make  
> sure though.
> 
> In anycase, any thoughts?
> 
> ---
> Daniel Kulp
> [EMAIL PROTECTED]
> http://www.dankulp.com/blog
> 
> 
> 
> 

Reply via email to