记录从数据库把数据初始化mongodb缓存的一些坑
2024-09-30 18:36:17
在项目启动时,需要做一些项目启动后的预操作,比如初始化数据进缓存等等。
这时就需要写listener,等监听。在项目启动时把数据缓存进mongodb。
但是这会有一个问题。项目一般都是把各种bean交给spring管理生命周期。如果在监听里面使用
这种方式获取bean的话,报错空指针异常!因为在
public void contextInitialized(ServletContextEvent arg0)
方法里,spring还没有把bean都初始化完成。如果调用就会找不到bean
使用以下方法:
1、ApplicationListener
可以在spring完全启动完后执行异步框架,把从数据库查到的数据缓存进mongodb
注意:
如果使用
或者
@PostConstruct 方法注解
都会造成mongodb还未初始化完成。报错或者用了ExecutorService异步框架的话会一直阻塞等待。
最新文章
- 修改 jquery.validate.js 支持非form标签
- @autowired和@resource的区别
- CentOS安装squid代理服务器
- C#中的IEnumable与IEnumator接口的简单理解
- 怎么取消 Windows Server 2012 r2 RDP 限制每个用户只能进行一个会话(转)
- webstorm搭建node服务器
- CoolShell Puzzle攻略[更新隐藏剧情]
- ExtJs之工具栏及菜单栏
- 最好的程序员都是行动派(成功者不是那些明知赚钱之法还要推三阻四的人。成功者知道轻重缓急,善于把握今天) good
- Windows的应用管理工具 PortableApps,Chocolatey和Ninite
- js设置元素的onclick传参方法
- Ubuntu 散热
- 阻止form空表单提交----JavaScript
- 原生JavaScript如何解决父元素查找指定类名的子元素的问题
- 第一周 动态规划Dynamic Programming(一)
- 【C语言编程练习】新娘与新郎
- AngularJS:directive自定义的指令
- CI框架 -- 核心文件 之 Output.php(输出类文件)
- [转]设置银行卡密码的个人bug
- Asp.net使用powershell管理hyper-v
热门文章
- C++对拍数据生成
- [bzoj2561]最小生成树_网络流_最小割_最小生成树
- 选择判断语句(switch)
- Ionic3错误记录:navigation stack needs at least one root page
- JButton点击事件
- myEclipse怎样将程序部署到tomcat(附录MyEclipse调试快捷键)
- 高速清空linux下文本文件内容
- Cocos2D-X2.2.3学习笔记12(瞬时动作)
- Javascript基本概念梳理
- jQuery通过地址获取经纬度demo