Spring监听,ApplicationListener

匿名 (未验证) 提交于 2019-12-02 23:03:14
import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; importorg.springframework.context.event.ContextRefreshedEvent; import org.springframework.stereotype.Component;   @Component public class InitDataListener implements   ApplicationListener { //ContextRefreshedEvent为初始化完毕事件  private static final Logger LOGGER =Logger    .getLogger(InitDataListener.class);  // 缓存管理器  @Autowired  @Qualifier("dictCacheManager")  private DictCacheManager dictCacheManager;  @Override  public voidonApplicationEvent(ContextRefreshedEvent event) {   final ApplicationContext app= event.getApplicationContext();   if (null ==app.getParent()     &&"Root WebApplicationContext".equals(app.getDisplayName())) { //当存在父子容器时,此判断很有用    //读取字典配置    Map config =new HashMap();    try {     config= PathUtil.getProperties("dataDictConfig.properties");     finalString mKey = config.get("dataDictKey");     if(StringUtils.isNotBlank(mKey)) {      DictCacheManager.M_KEY= mKey;     }    } catch(Exception e) {     LOGGER.error("Load\"dataDictConfig.properties\" failure!", e);    }    //判断是否立即加载数据字典到Redis    if("false".equals(config.get("lazyLoad"))) { //立即加载数据字典数据到Redis缓存服务器     dictCacheManager.init();    }   }  } }   } 

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!