On Jun 7, 2008, at 12:04 AM, Glen Mazza wrote:

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.

In theory, if the users depended on a specific version, they should have done the "addBefore" and "addAfter" things to make sure the order is set correctly. Without those set, we never really guaranteed an order. (example: the order did change between 2.0.1 and 2.0.2 when I did a bunch of performance work.)


Dan



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






---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to