[
https://issues.apache.org/jira/browse/CXF-6632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14950391#comment-14950391
]
Daniel Kulp commented on CXF-6632:
----------------------------------
That completely defeats the entire purpose of the cache in the WSDL manager
though. By creating a new string like that that is NOT held onto at all by
the client that is requesting the WSDL, the WSDL would be cleared from the
cache almost immediately (first garbage collect) and thus would not be
available when a second/third/forth client asks for the WSDL. Thus, that is
NOT a fix.
We need a test case that can be profiled to figure out what is holding onto the
string strongly which is preventing it from being garbage collected.
> Memory leak due to literal keys in WSDLDefinition map
> -----------------------------------------------------
>
> Key: CXF-6632
> URL: https://issues.apache.org/jira/browse/CXF-6632
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.7.17
> Reporter: Giovanni Borelli
> Assignee: Bharath Ganesh
>
> Looks like the definitionsMap in WSDLManagerImpl holds the WSDLDefinitions
> against a weak key, again relying
> on the WeakHashMap semantics for removal.
> The loadDefinition(String) method loads the WSDLDef and puts this in a map
> against a String key even if it was passed as a URL through
> getDefinition(URL).
> Like the https://issues.apache.org/jira/browse/CXF-1639 this causes a memory
> leak.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)