Java 启动后如何启动Spring批处理作业?
如何在应用程序启动后立即运行使用Java 启动后如何启动Spring批处理作业?,java,spring,spring-batch,Java,Spring,Spring Batch,如何在应用程序启动后立即运行使用Spring Batch配置的作业 目前,我正在使用cron作业指定确切时间,但这需要在每次重新启动应用程序时更改cron: @JobRegistry,@Joblauncher和作业。 我按如下方式执行作业: @Scheduled(cron = "${my.cron}") public void launch() { launcher.run(job, params); } 我可以在放置启动逻辑的地方想到一些选项: .1。在bean@PostConstr
Spring Batch
配置的作业
目前,我正在使用cron作业指定确切时间,但这需要在每次重新启动应用程序时更改cron:
@JobRegistry
,@Joblauncher
和作业
。
我按如下方式执行作业:
@Scheduled(cron = "${my.cron}")
public void launch() {
launcher.run(job, params);
}
我可以在放置启动逻辑的地方想到一些选项: .1。在bean
@PostConstruct
带注释的方法中,引用在这里-
.2。通过实现,特别是针对或ContextRefreshedEvent。此处参考-检查我找到的弹簧代码 生命周期接口的扩展,用于需要 在应用程序上下文刷新和/或在中关闭时启动 特定顺序。isAutoStartup()返回值指示 此对象应在上下文刷新时启动
尝试创建一个自定义bean,实现
SmartLifecycle
并设置AutoStart
;调用此自定义bean start方法时,启动您的作业。尝试检查Spring LifecycleProcessor能否将launcher.run()
命令放入main()方法中?抱歉,我忘了提到我正在tomcat web应用程序服务器中运行应用程序。