我正在使用基于Web的弹簧批量应用程序。我的批处理作业将在API调用上启动。这是我作为Web服务公开的方法。
@RequestMapping(value = "/v1/initiateEntityCreation", method = RequestMethod.GET)
public String initiateEntityCreation()
throws JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException,
JobParametersInvalidException, NoSuchJobException, JobInstanceAlreadyExistsException {
JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
jobParametersBuilder.addDate("Date", new Date());
Long executionContext = jobOperator.start("InitiateEntityCreation", String.format("Date=%s", new Date()));
return executionContext.toString();
}
我的批处理工作正常,我有一个Mysql实例作为我的工作存储库。我已将Spring Cloud数据流集成到我的批处理应用程序中。我有@EnableTask注释和所有必要的依赖项。我已将Spring Cloud数据本地服务器连接到我的spring批处理jon Repository实例。
这是我对SCDF的命令行参数。
java -jar spring-cloud-dataflow-server-local-1.2.3.RELEASE.jar --
spring.datasource.url=jdbc:mysql://localhost:3306/springbatchdb--
spring.datasource.username=root --spring.datasource.password=password --
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
我的本地服务器正在运行并捕获所有作业执行实例。我已将我的弹簧批量应用程序注册到SCDF,并为定义了SCDF的任务。
当我尝试从SCDF启动这项工作时,我的任务成功执行了#34;但是我的工作没有被执行。
如果我检查任务执行情况,我会看到
StartTime N / A,EndTime N / A,如果我深入到任务执行,则没有已运行的批处理作业。请告诉我们如何使用Spring Cloud数据流启动基于Web的Spring批处理作业。