• 首页
  • 栏目
  • CRM
  • 【jeecg-boot项目开发crm】:平台技术点——day05【Java定时任务解决方案:七、jobDataMap使用】:图灵课堂

【jeecg-boot项目开发crm】:平台技术点——day05【Java定时任务解决方案:七、jobDataMap使用】:图灵课堂

  • 2021-11-30
  • Admin

七、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相同就会被覆盖】

在这里插入图片描述

2. 第二种用法【就需要定义多个属性】

2.1 在MyJob.java中定义一个属性,并且写出他的set
在这里插入图片描述
2.2 这样我们就可以直接在TestJob.java中设置值。
在这里插入图片描述
2.3 这时候就不用再MyJob.java中调用很多context的api了,可以直接取
在这里插入图片描述

  • 注:如果jobDetail和trigger都设置了name,就会将jobDetail覆盖掉。

原文:https://blog.csdn.net/qq_40572023/article/details/121626674

联系站长

QQ:769220720