Java 如何从数据库中配置quartz的属性值参数?

Java 如何从数据库中配置quartz的属性值参数?,java,jboss,quartz-scheduler,Java,Jboss,Quartz Scheduler,在我的项目中,有电子邮件触发的要求,所以我使用石英为这一点。 我通过注释配置quartz: @MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "cronTrigger", propertyValue ="0 30 10 * * ?") }) @ResourceAdapter("quartz-ra.rar") public class QuartzMDBTest implements Job {

在我的项目中,有电子邮件触发的要求,所以我使用石英为这一点。 我通过注释配置quartz:

@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只接受常量表达式。 请帮帮我
谢谢你

我认为你不能用注释来实现它。尝试使用代码而不是注释配置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);