java - Quartz 调度程序 - 使用同一类的不同作业?

标签 java quartz-scheduler

quartz 示例通常这样做:

JobDetail job = newJob(PrintMessageJob.class)

如何创建一个在运行时定义参数的作业?像这样的事情会很好,但不允许:

JobDetail job = newJob( new PrintMessageJob("my message") );

谢谢

最佳答案

您必须执行以下操作。

JobDetail job = newJob(PrintMessageJob.class)
               .usingJobData("message", "my message")
               .build();

public class PrintMessageJob implements Job {

    public PrintMessageJob() {
    }

    public void execute(JobExecutionContext context) throws JobExecutionException
    {
        JobDataMap dataMap = context.getJobDetail().getJobDataMap();

        String message = dataMap.getString("message");
        ...
    }
}

关于java - Quartz 调度程序 - 使用同一类的不同作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27776539/

相关文章:

java - JOOQ:如何将外键解析为对象?

java - AnnotationConfigApplicationContext 中的 Quartz 调度程序

java - 在不使用数组的情况下查找列表中的两个最大数字

Java实现Runnable : Cannot resolve Symbol 'start'

java - 如何在 JList 中启用拖放

java - 向 Quartz CronTrigger 添加一次性额外触发

java - 如何在每个月的每个工作日运行 quartz 作业

java - 如何添加带有或条件的 cron 触发器?

java - 如何使用调度程序触发 Spring Quartz 触发器

java - 将可运行的 jar 转换回 eclipse 项目?