0

私のプロジェクトでは、トリガーを電子メールで送信する必要があるため、これにはクォーツを使用します。注釈を使用してクォーツを構成します。

@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 は定数式のみを取ります。助けてください ありがとう

4

1 に答える 1

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);
于 2013-06-11T12:41:01.443 に答える