如何从数据库配置石英的属性值参数?

时间:2013-06-11 12:33:35

标签: java jboss quartz-scheduler

在我的项目中需要电子邮件触发所以我使用石英这个。 我通过注释配置石英:

@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "cronTrigger", propertyValue ="0 30 10 * * ?") })
@ResourceAdapter("quartz-ra.rar")
public class QuartzMDBTest implements Job {

  public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {


    System.out.println("Quartz1 job executed!");  
}

在上面的代码我设置时间10:30但我想它来自数据库。怎么做到这一点? propertyvalue只接受常量表达。 请帮我 谢谢

1 个答案:

答案 0 :(得分:0)

我认为你不能使用注释来实现它。尝试使用代码而不是注释配置quartz作业。以下是该示例代码:

    CronTrigger trigger = new CronTrigger();
    trigger.setName("dummyTriggerName");
    // fetch the value from DB here and create the CRON string accordingly
    final String cronString = "0 " + value fetched from DB + " 10 * * ?"
    trigger.setCronExpression(cronString );


Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    scheduler.start();
    scheduler.scheduleJob(job, trigger);