You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Glen Daniels (JIRA)" <ji...@apache.org> on 2008/01/05 06:52:33 UTC

[jira] Commented: (AXIS2-3422) Eliminate redundant lookup in MessageContext.getProperty(String)

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

Glen Daniels commented on AXIS2-3422:
-------------------------------------

Rich: is it even possible for OperationContext / ServiceContext / etc to NOT be "ancestors"?  I thought that setOperationContext() and the like automatically set up the parent pointers.  If that's true, we shouldn't need the explicit search code in MessageContext at all... and thus shouldn't need the "ancestor" stuff either.

Unless we have solid use cases for why a MessageContext would contain a pointer to another context that wasn't marked as a parent, I guess I'd prefer to explore getting rid of that code and just using AbstractContext's built-in search.

Thoughts?

> 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org