springboot如何让定时任务在mybatis之后再启动?

遇到这样的一个情况,有个定时任务启动间隔比较小,每分钟执行一次,然后在项目启动第一次执行的时候mybatis还没有完全初始化完成,导致报错了
我该怎么控制任务在mybatis初始化完成之后再启动
查了些order设置顺序啥的好像不符合我的要求
我的任务是
ThreadPoolTaskScheduler来实现,任务里面用了
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
UserDao userDao = sqlSession.getMapper(UserMapper.class);
是不是跟这代码获取的Dao方式也有关系

阅读 1.7k
2 个回答

最简单的方法:
把定时任务也作为bean,把userDao注入进去,完事

可以在spring容器启动之后再创建定时任务

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题