[ https://issues.apache.org/jira/browse/AXIS2-3011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ann Robinson reassigned AXIS2-3011: ----------------------------------- Assignee: Ann Robinson > ServiceDescription caching leads to memory leak > ----------------------------------------------- > > Key: AXIS2-3011 > URL: https://issues.apache.org/jira/browse/AXIS2-3011 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: jaxws > Reporter: Jarek Gawor > Assignee: Ann Robinson > Attachments: AXIS2-3011.patch > > > The DescriptionFactoryImpl.createServiceDescription() function attempts to > cache/reuse the ServiceDescription objects and that leads to memory leaks. > First, a Hashtable is used for the cache. That means, any ServiceDescription > created will always live in the cache and won't ever be reclaimed (and there > is no clear cache function). Some sort of WeakHashMap could help the problem > so that at least some unused ServiceDescription objects could be reclaimed. > Second, the createServiceDescription() uses the > DescriptionFactory.createClientConfigurationFactory().getClientConfigurationContext() > to get the client configuration context. It looks like by default the > ClientConfigurationFactory.getClientConfigurationContext() does NOT cache the > configuration context. Therefore, each call creates a new configuration > object. That means, that by default ServiceDescription will NOT be reused > since the configuration context object instance is used to determine if the > ServiceDescription should be reused or not (see DescriptionKey.equals() > function). > So, a simple program that calls createServiceDescription() repeatably in a > loop (with the same arguments) will quickly run out of memory. -- 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]