cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: On MessageContext properties retrieval in handlers
Date Thu, 12 Nov 2009 18:10:18 GMT
On Thu November 12 2009 12:49:41 pm Alessio Soldano wrote:
> Yep, this makes sense to me, this was the other idea I had, just though
> it was excluded from the beginning.

Just a little history about this that I mentioned on IRC, but thought everyone 
might benefit from hearing about.

Long long ago, we completely used a "push" model for the JAX-WS context.  
Before entering any handler and before invoking the service, we would walk 
through all the message properties and map them to the required JAX-WS 
properties.   On the way out of the handlers/service, we would walk through 
all the properties again and map them back into cxf properties.   This was 
done for EVERY invokation, even if the service didn't use the context or 
anything.   After some profiling, we discovered this was a measurable amount 
of time being spent (like 5% for a "echoString" type service).   In the 2.1 
timeframe, we did some performance work and one of the things that was done 
was to start making the jaxws context a "pull" thing.   The JAX-WS context 
wrappers the message/exchange and on every put/get, we do the mapping to/from 
cxf values. 

With this way of doing it, the hit is ONLY done when the context is actually 
used and ONLY for the keys that are actually requested/used.   For 90% of the 
time when the context is not used, the only hit is the creation of the wrapper 
object (very very minor).

What you are running into is a case where not ALL of the "push" things were 
remapped into pulls.   Definitely worth fixing to avoid the extra processing 
that doesn't really need to be done.   

Dan



> Daniel Kulp wrote:
> > Note: if you make the change to WrappedMessageContext such that if it is
> > "null" on the exchange already, then do the above, I'd be happy to merge
> > that back to 2.2.x.     The removal of the stuff from Message.java would
> > need to be a migration guide thing for 2.3.
> 
> I created https://issues.apache.org/jira/browse/CXF-2532 , looking at
> that tomorrow.
> Thanks
> Alessio
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Mime
View raw message