修复War部署无法正常shutdown,ehcache内存泄漏

Signed-off-by: zhanliquan <zhanliquanit@foxmail.com>
master
zhanliquan 5 years ago committed by Limy
parent 9dd7de9567
commit edc6116bae

@ -2,6 +2,7 @@ package com.ruoyi.framework.manager;
import com.ruoyi.framework.shiro.web.session.SpringSessionValidationScheduler; import com.ruoyi.framework.shiro.web.session.SpringSessionValidationScheduler;
import net.sf.ehcache.CacheManager; import net.sf.ehcache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -21,12 +22,15 @@ public class ShutdownManager
@Autowired(required = false) @Autowired(required = false)
private SpringSessionValidationScheduler springSessionValidationScheduler; private SpringSessionValidationScheduler springSessionValidationScheduler;
@Autowired(required = false)
private EhCacheManager ehCacheManager;
@PreDestroy @PreDestroy
public void destroy() public void destroy()
{ {
shutdownSpringSessionValidationScheduler(); shutdownSpringSessionValidationScheduler();
shutdownAsyncManager(); shutdownAsyncManager();
CacheManager.getCacheManager("ruoyi").shutdown(); shutdownEhCacheManager();
} }
/** /**
@ -63,4 +67,21 @@ public class ShutdownManager
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
} }
} }
private void shutdownEhCacheManager()
{
try
{
logger.info("====关闭缓存====");
if (ehCacheManager != null)
{
CacheManager cacheManager = ehCacheManager.getCacheManager();
cacheManager.shutdown();
}
}
catch (Exception e)
{
logger.error(e.getMessage(), e);
}
}
} }

Loading…
Cancel
Save