package com.ots.framework.manager; import com.ots.framework.shiro.web.session.SpringSessionValidationScheduler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; @Component public class ShutdownManager { private static final Logger logger = LoggerFactory.getLogger("sys-user"); @Autowired(required = false) private SpringSessionValidationScheduler springSessionValidationScheduler; @PreDestroy public void destroy() { shutdownSpringSessionValidationScheduler(); shutdownAsyncManager(); } private void shutdownSpringSessionValidationScheduler() { if (springSessionValidationScheduler != null && springSessionValidationScheduler.isEnabled()) { try { logger.info("====关闭会话验证任务===="); springSessionValidationScheduler.disableSessionValidation(); } catch (Exception e) { logger.error(e.getMessage(), e); } } } private void shutdownAsyncManager() { try { logger.info("====关闭后台任务任务线程池===="); AsyncManager.me().shutdown(); } catch (Exception e) { logger.error(e.getMessage(), e); } } }