[ 
https://issues.apache.org/jira/browse/AXIS2-3581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rich Scheuerle reopened AXIS2-3581:
-----------------------------------


The EndpointDescriptionImpl is using getUnwrappedDefinition() to get and store 
the definition.  This is inadvertently avoiding
the memory footprint enhancements.  

I am working on a small change to EndpointDescriptionImpl to fix this problem.  
In addition, I am adding more trace to WSDLWrapperReloadImpl so that it will be 
easier to determine when
the definition is reloaded.
I am also changing WSDLWrapperReloadImpl to store the Types and DocumentElement 
in a WeakReference.  This will
allow the code to avoid unnecessary reloads when memory is available.

I am running final tests and will commit the changes in about an hour.

> WSDLDefinitionWrapper is not being constructed with the proper Configuration 
> information
> ----------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3581
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3581
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Blocker
>             Fix For: 1.4
>
>
> History:
> WSLDDefinitionWrapper wraps a WSDL Definition.  The WSDLDefinitionWrapper 
> uses information from the AxisConfiguration to determine the strategy for 
> loading resources (i.e. loading and keeping the schema in core). 
> Problem:
> The WSDLDefinitionWrapper (and its companion WSDL4JWrapper class) expose 
> constructors that don't pass in the configuration context or other memory 
> limit information. 
> When these ill-conceived constructors are used, the AxisConfiguration 
> information is ignored, and this can lead to out of memory situation.
> Solution:
> The solution is to CLEANUP the constructors!
> First Step:  Deprecate all of the constructors on WSDLDefinitionWrapper and 
> WSDL4JWrapper that don't provide a memory configuration parameter .
> Second Step:  Examine all uses of the deprecated constructors.  In most 
> cases, a configuration (AxisConfiguration) is available, and the code is 
> changed to 
> use the correct constructor.  In other cases, the configuration information 
> is not available, but there is an obvious choice based on the context of the 
> call.
> (i.e. we don't need a memory sensitive WSDLDefinitionWrapper for a temporary 
> wsdl definiton usage).
> I am testing a solution.
> Kudos to Vien Tran of IBM for finding this error during rigorous SVT testing 
> with a service containing a large number of schemas.
> Kudos to Jeff Barrett for working with me to brainstorm a solution.

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