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应用程序服务器中运行应用程序。