七、jobDataMap使用

1. 第一种用法【推荐:更灵活】
1.1 封装的jobDetail还有trigger等都还可以存一些值。【TestJob.java】
- usingJobData():其实就是一个map

1.2 这时候我们就可以在任务执行【真正的业务逻辑】的时候,来获取我们刚才放进去的一些参数。【MyTestJob.java】
- 使用
JobExecutionContext context里面的一些api来获取【我们可以把JobExecutionContext 理解成定时任务的一个大容器,所有的定时任务都是放到这里面运行的,提供了很多的api来访问全局】- context.getJobDetail().getJobDataMap();——>拿到这个JobDetail的map就可以获取到里面的一些参数
- context.getTrigger().getJobDataMap();——>拿到这个trigger的map就可以获取到里面的一些参数
- context.getMergedJobDataMap();——>用来将前面两个map合并【缺点就是如果key相同就会被覆盖】

本文详细介绍了Spring Batch中jobDataMap的两种使用方法:一是灵活地在jobDetail和trigger中存储数据,便于任务执行时获取;二是通过定义属性直接设置参数,简化获取过程。重点讲解了context的API获取方式和注意事项,如jobDetail与trigger名重叠时的数据覆盖问题。
最低0.47元/天 解锁文章
954

被折叠的 条评论
为什么被折叠?



