Java 通过单独运行批处理微服务,在Spring云数据流上部署Spring批处理应用程序

Java 通过单独运行批处理微服务,在Spring云数据流上部署Spring批处理应用程序,java,spring-boot,spring-batch,spring-rest,spring-cloud-dataflow,Java,Spring Boot,Spring Batch,Spring Rest,Spring Cloud Dataflow,我有一个Spring批处理应用程序,我希望有两个选项来触发批处理: 公开RESTAPI 调度程序 通过将批处理应用程序打包为任务,我能够在单独运行的SCDF服务器上部署该应用程序。我正在SCDF服务器上创建一个Task类型的应用程序,并引用批处理应用程序的jar文件。然后使用应用程序任务创建任务 我知道SCDF expose rest interface可以按计划触发一个任务,也可以一次性触发一个任务,但是我希望将触发器保留在批处理中,因为我们需要使用单独的定义来公开rest interface

我有一个Spring批处理应用程序,我希望有两个选项来触发批处理:

  • 公开RESTAPI
  • 调度程序
  • 通过将批处理应用程序打包为任务,我能够在单独运行的SCDF服务器上部署该应用程序。我正在SCDF服务器上创建一个Task类型的应用程序,并引用批处理应用程序的jar文件。然后使用应用程序任务创建任务

    我知道SCDF expose rest interface可以按计划触发一个任务,也可以一次性触发一个任务,但是我希望将触发器保留在批处理中,因为我们需要使用单独的定义来公开rest interface

    是否可以将Spring批处理应用程序作为Spring引导微服务单独运行,并在SCDF服务器上注册为任务

    是否可以将Spring批处理应用程序作为Spring引导微服务单独运行,并在SCDF服务器上注册为任务

    不需要,SCDF中需要有一个任务定义,以便您利用SCDF的RESTful端点来启动或安排它进行周期性运行。SCDF中没有自动发现独立运行的任意批处理作业的机制。除非从SCDF内部建立足迹,否则我们没有任何跟踪能力来管理独立应用程序

    需要注意的另一个重要区别是:任务。SCDF中的任务是短暂的。它们启动、执行业务操作,并在业务逻辑完成时关闭

    对于在Kubernetes和cloud Foundry等云平台上工作的核心设计,我们不希望任务/批处理应用程序与RESTful控制器捆绑在一起。同样,任务也没有可用的运行状况检查。添加RESTful特性的那一刻,就要求它作为一个长期运行的应用程序运行(因为您希望端点可以从其他服务访问),这将违反云平台中任务的设计前提