Eliminate redundant lookup in MessageContext.getProperty(String)
----------------------------------------------------------------

                 Key: AXIS2-3422
                 URL: https://issues.apache.org/jira/browse/AXIS2-3422
             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, etc. 

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 cases.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to