【问题标题】:How to access Cron expression from application.properties file如何从 application.properties 文件访问 Cron 表达式
【发布时间】:2021-12-08 00:50:55
【问题描述】:

这是我的工作计划部分,我想删除 cron 触发器 CronTrigger("0 40 13 * * ?") 然后从 application.properties 访问 cron 表达式。

@Component
public class DynamicjobSchedule  {

    public void schedulejobs() {

        for (ConnectionStrings obj : listObj) {
            System.out.println("Cron Trigger Starting..");
            scheduler.schedule(new DashboardTask(obj), new CronTrigger("0 40 13 * * ?"));
        }
    }
}

如何在 src/main/resources 位置创建一个属性文件并提及 cron 表达式,然后从调度程序调用?

【问题讨论】:

  • 请考虑将您的代码作为文本而不是图像放在这里
  • 我计划在我的项目的 src/main/resource 位置创建 cron.property 文件并设置 cron 表达式,然后我想在我的 crontrigger 中使用 cron.property 文件中的表达式来使用这个 cron 表达式我的项目

标签: spring spring-boot cron taskscheduler application.properties


【解决方案1】:

最简单的方法是像这样使用@Value注解:

@Component
public class DynamicjobSchedule {

    @Value("${name.of.cron.expression.in.application.properties}")
    private String cronExpression;

    public void schedulejobs() {

        for (ConnectionStrings obj : listObj) {
            System.out.println("Cron Trigger Starting..");
            scheduler.schedule(new DashboardTask(obj), new CronTrigger(cronExpression));
        }
    }
}

你也可以在方法参数上使用@Value注解:

@Component
public class DynamicjobSchedule {

    public void schedulejobs(@Value("${name.of.cron.expression.in.application.properties}") String cronExpression) {

        for (ConnectionStrings obj : listObj) {
            System.out.println("Cron Trigger Starting..");
            scheduler.schedule(new DashboardTask(obj), new CronTrigger(cronExpression));
        }
    }
}

【讨论】:

  • 是的,它的工作,在DynamicCronJob上使用PropertySource注解,并提到你提到的这个PropertySource(classpath:application.property)和Use(value)注解等属性的类路径。它的工作@nkrivenu
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
相关资源
最近更新 更多