我创建了一个Spring Boot应用程序来实现Quartz Scheduler。在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);
}
}
答案 0 :(得分: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);
}
}