cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Diephouse <...@envoisolutions.com>
Subject Re: Interceptor Ordering
Date Sun, 05 Nov 2006 19:02:50 GMT
Hi Eoghan,

Glynn, Eoghan wrote:

> 
>  
>
>>>Can you expand on your preference for the In/Out model? 
>>>      
>>>
>>What specific 
>>    
>>
>>>advantages do you see it bringing to the table?
>>>
>>>  
>>>      
>>>
>>The interceptor model as it is allows interceptors to 
>>position themselves correctly inside the interceptor chain. 
>>(for the axis2'ers listening in, this is one of the parts I 
>>like about axis2...) So I can develop my own extensions and 
>>they can just drop in. The user doesn't need to know where to 
>>put them.
>>    
>>
>
>Surely the "where to put the interceptor in the chain" question is
>encoded within the interceptor itself in *both* models, in the
>PhaseInterceptor getPhase() and getBefore/getAfter()?
>
>I don't see how this would be any different for separate In/Out
>interceptors as opposed to a single consolidated interceptor.
>  
>
Sure, but if you make interceptors both in and out, then you need to 
have 
getOutBefore/getOutAfter/getInBefore/getInAfter/getInPhase/getOutPhase. 
This seems messier to me. Also, say we create a pipeline that isn't 
in/out, but just does some transformations. In this case we would be 
using the chain as more of a general purpose processing pipeline (which 
was one of my original goals). I don't think the in & out semantics work 
for it.

>
>  
>
>>By baking In/out semantics in 
>>you're immediately going to request/response type semantics 
>>in my mind.
>>    
>>
>
>But surely both models bake in the in/out semantics, just in a different
>way?
>
>  
>

>... i.e. the in/out semantics are baked in either as separate
>interceptor implementations for the in and out directions, or a single
>consolidated interceptor implementation that acts differently depending
>on whether the direction is inbound or outbound.
>
>  
>
I don't think so - having just phase, after, and before says nothing 
about whether there is a message in bound, out bound or whether the 
message is even going somewhere at all.

I very much see your point, but is it really that hard to share state? 
It can just be stored on the exchange.

- Dan

-- 
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com


Mime
View raw message