Java 如何从数据库中配置quartz的属性值参数?
在我的项目中,有电子邮件触发的要求,所以我使用石英为这一点。 我通过注释配置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 {
@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);