axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Scheuerle (JIRA)" <>
Subject [jira] Commented: (AXIS2-3422) Eliminate redundant lookup in MessageContext.getProperty(String)
Date Mon, 07 Jan 2008 15:32:33 GMT


Rich Scheuerle commented on AXIS2-3422:


According to the comments that I read, it seems that there might be a window where a MessageContext's
properties are not hooked into the OperationContext.  I don't know if this is for legacy situations,
persistent situations,  or if this situation exists anymore.

I agree that having two "parent" pointers is confusing and error prone.  I would be in favor
of changing the code to only have one.  For example, the MessageContext should not have a
separate instance variable that is the "OperationContext".  Instead it should always assume
that the MessageContext's parent  (from the AbstractContext) is the OperationContext.

If you have a stong feeling about this, please open another JIRA.  I am willing to investigate.


> Eliminate redundant lookup in MessageContext.getProperty(String)
> ----------------------------------------------------------------
>                 Key: AXIS2-3422
>                 URL:
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: kernel
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
> Background:
> MessageContext.getProperty(String) is invoked frequently during the processing of a web
service message.
> MessageContext.getProperty(String) delegates to its super class (AbstractContext) to
get the property value.  The AbstractContext is aware of parent/ancestor contexts and automatically
> searches these objects.
> If a value is not found, the MessageContext then looks in the OperationContext, ServiceContext,
> Problem:
> The secondary search of the OperationContext, ServiceContext, etc. is not necessary if
these contexts are ancestors of the MessageContext.  
> The secondary search is expensive and should be eliminated.
> Solution:
> Add a new method to AbstractContext, isAncestor(AbstractContext).
> Use the new method in MessageContext to avoid the secondary search.
> Kudos:
> David Strite (IBM) found this secondary search problem while doing performance testing
for small message payloads.  The new code should increase throughput by about 2% in these

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message