[ 
https://issues.apache.org/jira/browse/CXF-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603293#action_12603293
 ] 

Bharath Ganesh commented on CXF-1621:
-------------------------------------

Sure will do that. On a vacation now. Will commit on monday..



> Memory Leak in WSDLManagerImpl - SchemaCacheMap
> -----------------------------------------------
>
>                 Key: CXF-1621
>                 URL: https://issues.apache.org/jira/browse/CXF-1621
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1, 2.0.6
>            Reporter: Bharath Ganesh
>            Assignee: Bharath Ganesh
>
> The schemaCacheMap in WSDLManagerImpl has a weak key - WSDLDefinition and 
> value ServiceSchemaInfo. A key,value pair is inserted into this map while 
> building a service. The entry is never explicitly removed from this map. 
> Since the map is a WeakHashMap, it is assumed that when the key 
> WSDLDefinition is weakly referenced, the entry would be removed from the map. 
> But it is seen that the value ServiceSchemaInfo(the value) holds on to a 
> SchemaInfo which in turn holds on to the ServiceInfo, which holds the 
> WSDLDefinition through the AbstractPropertiesHolder.
> This would mean that the value of the CacheMap always strongly refers to the 
> key, which would mean the entry would never be removed from the map.
> "The value objects in a WeakHashMap are held by ordinary strong references. 
> Thus care should be taken to ensure that value objects do not strongly refer 
> to their own keys, either directly or indirectly, since that will prevent the 
> keys from being discarded"
> This would mean ServiceInfo, OperationInfo, BindingInfo, WSDLDefinition would 
> all stay in the VM even after the endpoint is stopped.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to