Memcached IO over error - 内存泄漏

时间:2016-03-18 19:43:17

标签: java memory-leaks tomcat7 liferay-6 spymemcached

Liferay6.2和tomcat7 我有一个portlet应用程序,我在调用我的MemcachedClient类方法。

下面的MemcachedClient类具有创建memcache客户端实例的代码。它设置并获取在memcached中设置和获取值的方法。

portlet只使用此类getter和setter。

import net.spy.memcached.*;
public class MemcachedUtil {


protected static synchronized MemcachedClient getMemcachedClientInstance()
{
memcachedservicePropFile.load(MemcachedServiceUtil.class.getResourceAsStream("memcachedservice.properties"));
memcachedServersPropValue =((String) memcachedservicePropFile.get(MEMCACHED_SERVERS_PROP_NAME)) 

s_memcachedClientSingleton= new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses((memcachedServersPropValue, " "));

return s_memcachedClientSingleton;

}

protected static void setParameterValueInMemcached( String parameterName, String parameterValue)
{
    MemcachedClient memcached =  getMemcachedClientInstance();
    memcached.set(parameterName, 43200, parameterValue); 
}

protected static String getParameterValueFromMemcached( String  parameterName)
{        
   MemcachedClient memcached = getMemcachedClientInstance();
    String valueFromMemcached = (String)memcached.get(parameterName);
    return valueFromMemcached;
}

}

上面的memcached类和prop文件捆绑在一个jar中,并在portlet中使用。

当我在 liferay6.2 / tomcat 重新部署我的portlet 项目时。它抛出以下错误

org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web应用程序[/ testmemcached-portlet]似乎已经启动了一个名为[Memcached IO over {MemcachedConnection to localhost / 127.0.0.1:11211}]的线程,但未能阻止它。这很可能会造成内存泄漏。

我不知道这个错误来自哪里。任何人都可以帮助我。

非常感谢

0 个答案:

没有答案