java怎么使用quartz任务调度传一些集合数组

Python013

java怎么使用quartz任务调度传一些集合数组,第1张

可以使用JobDataMap来传递集合数组,JobDataMap是Quartz提供的一个Map,可以用来存储任务相关的数据。

在调度任务时,可以使用JobDataMap来传递集合数组:

JobDetail jobDetail = newJob(MyJob.class)

.withIdentity("myJob", "group1")

.usingJobData("myCollection", myCollection)

.build()

// 在任务中获取集合数组

@Override

public void execute(JobExecutionContext context) throws JobExecutionException {

JobDataMap dataMap = context.getJobDetail().getJobDataMap()

List<String>myCollection = (List<String>) dataMap.get("myCollection")

// do something with myCollection

}

在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,3种不同的实现方法: 普通thread实现 TimerTask实现 ScheduledExecutorService实现