如何在org.quartz.Job类中访问应用程序属性?

问题描述 投票:0回答:1

我创建了一个spring boot应用程序来实现Quartz调度程序。在Job类中,我想使用application.properties中的一些属性。如何注射?

当我尝试使用值注释使用它时,获取null。

这是我的代码

主类:

@SpringBootApplication
public class SchedulerApplication {

    public static void main(String[] args) {

        SpringApplication.run(SchedulerApplication.class, args);

    }

    @Bean
    public Scheduler scheduler() {

        Scheduler scheduler = null;
        try {

            SchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
            scheduler = stdSchedulerFactory.getScheduler();
            scheduler.start();


        } catch (SchedulerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return scheduler;

    }

}

职位类别:

@Component
public class ScheduleJob implements org.quartz.Job {

    @Value("${ijobs.service.url}")
    public String ijobsUrl;

    public ScheduleJob() {

    }

    public void execute(JobExecutionContext context) throws JobExecutionException {
        String jobName = null;
        System.out.println("ijobsUrl--->"+ijobsUrl);
        } 
}
spring spring-boot properties quartz-scheduler quartz
1个回答
0
投票

尝试在Job类上使用这个@Order

  @Component
    @Order(Ordered.HIGHEST_PRECEDENCE + 99)
    public class ScheduleJob implements org.quartz.Job {

        @Value("${ijobs.service.url}")
        public String ijobsUrl;

        public ScheduleJob() {

        }

        public void execute(JobExecutionContext context) throws JobExecutionException {
            String jobName = null;
            System.out.println("ijobsUrl--->"+ijobsUrl);
            } 

  }
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.