首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal 系统启动后,定时任务获取查询任务,Db找不到
小马奔腾
2019-05-08 11:01
问题大致是这样:系统启动后,首先第一次数据库查询所有job任务进行加载,这个时候Db是有的,接下来定时任务开始执行,执行逻辑是要有查询数据库记录,这时候查询就会报Db不存在了,很奇怪。。。。
项目:
JFinal
评论区
JFinal
2019-05-08 11:11
单步调试找原因
Db 不存在这个异常并不存在,jfinal 内部从来没报过这个异常
回复
杜福忠
2019-05-08 12:02
job任务代码 不在一个classLoader系列?
回复
小马奔腾
2019-05-08 14:29
@JFinal
单步调试下来,我项目有先加载mysql数据源插件,然后加载quartz数据源插件,然后是加载quartz插件(就是这边有个业务逻辑,先查询mysql库中的所有定时记录,也是存在这个db对象的,然后调用quartz中的scheduler中的start()方法开始启动定时,后面定时任务到来时,需要获取mysql库的信息,这时候发现Db中的map对象是空的,我不知道具体是哪里将这个map变空了。。。)
回复
JFinal
2019-05-08 14:30
@小马奔腾
这里注意一个先后问题, ActiveRecordPlugin 插件要放在最前面初始化,否则后面的无法加载
或者你手动 arp.start() 一下,并去除:
me.add(arp);
回复
小马奔腾
2019-05-08 14:33
@杜福忠
是在一个classLoader下的
回复
小马奔腾
2019-05-08 15:23
@JFinal
我手动调用quartz插件直接第一次查询就报db不存在,我第一先加载的mysql,然后是quartz库,然后是加载quartz插件,你看我截图,第一次加载查询任务是有的 ,第二次定时来的时候就没有了 (报:Config not found by configName: ccDb) 这个ccDb,第一次查询在map中是有的,也查询出数据的
回复
小马奔腾
2019-05-08 15:26
@JFinal
系统只要不执行定时任务逻辑就不会出问题,因为后面我正常访问mysql和quartz库 都是正常能得出数据的
回复
发送
我要反馈
热门反馈
扫码入社
Db 不存在这个异常并不存在,jfinal 内部从来没报过这个异常