[ 
https://issues.apache.org/jira/browse/AXIS2-3422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556587#action_12556587
 ] 

Rich Scheuerle commented on AXIS2-3422:
---------------------------------------

Glen,

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.  

Thanks
Rich

> 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