Как получить доступ к свойству приложения в классе org.quartz.Job? - PullRequest
0 голосов
/ 27 марта 2019

Я создал приложение весенней загрузки для реализации планировщика Quartz.В классе Job я хочу использовать некоторое свойство из application.properties.Как внедрить это?

Когда я пытаюсь использовать его, используя аннотацию значения, получаю ноль.

Вот мой код

Основной класс:

@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);
        } 
}

1 Ответ

0 голосов
/ 27 марта 2019

попробуйте использовать этот @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);
            } 

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...