我有一个符合JSR-352的简单Spring批处理应用程序。
我需要将其部署为Spring Cloud数据流服务器上的托管任务。据我所知-为了能够将其作为任务部署,我需要将此应用程序转换为Spring Boot应用程序。
我尝试添加Spring Boot依赖项和主类,但是当我启动应用程序时,它并没有运行批处理作业。
主类
@SpringBootConfiguration
@EnableAutoConfiguration
@EnableBatchProcessing
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}批处理文件创建于
META-INF/batch-jobs/myjob.xml当我在主类中使用JobOperator启动作业时(没有Spring Boot),它可以工作。
要将它作为Spring Boot应用程序运行,我会错过什么?
发布于 2019-05-28 22:15:22
您缺少@EnableTask注释。这样,您的批处理作业将作为一个短暂的应用程序运行。换句话说,只要XML中的业务逻辑需要运行,应用程序就会一直运行,并且它会正常关闭并释放资源。
请克隆并试用Spring Cloud Task samples [请参阅:BatchJobApplication]。所有这些都应该在SCDF中按原样工作。
https://stackoverflow.com/questions/56343203
复制相似问题