axis-java-dev mailing list archives

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

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


Mime
View raw message