我有一个Spring Cloud Task胖罐子,我已经成功地将其部署到在PCF上运行的SCDF。 我已经为它创建了一个定义,因此可以从仪表板运行它。 FWIW 它使用 Spring JDBC 从数据库中读取和写入。
我现在正在尝试将其设置为按计划的方式运行,但遇到了问题。 我创建了一个带有触发器任务源和任务启动器本地接收器的流,并将触发器任务 URI 配置为指向胖罐(通过 HTTP,使用静态文件 PCF 推送的应用程序(。
仪表板显示两个 PCF 应用程序(一个用于触发任务,一个用于任务本地启动器(都成功启动,并且全部运行,但任务每次都失败并显示错误:
Caused by: java.io.IOException: Cannot run program "java" (in directory "/home/vcap/tmp/spring-cloud-dataflow-5903184636016162160/Task--582903409-1502669137014/Task--582903409"): error=2, No such file or directory
据我所知和推测,运行流的 PCF 应用程序尝试分叉和执行 Java 调用,但由于 Java 不在 PCF 应用程序容器的路径中,因此我收到错误
我说的对吗? 无论哪种方式,我如何才能让 Spring Cloud Task (jar( 成功运行?
Spring Cloud Data Flow:Server1.2.3(使用构建的 spring-cloud-dataflow-server-cloudfoundry-1.2.3.BUILD-SNAPSHOT.jar(
Spring Cloud Data Flow: Shell1.2.3 (使用下载的 spring-cloud-dataflow-shell-1.2.3.RELEASE.jar(
部署环境PCF v1.11.6(在 Azure 上( PCF 开发 v0.26.0 (在 Mac 上(
应用入门 http://bit-dot-ly/1-0-4-GA-stream-applications-rabbit-maven
日志链接到日志
帖子中缺少流定义。可能使用的是tasklauncher-local
接收器,该接收器仅在使用 SCDF 的本地服务器时兼容,并且在 CF 中运行时将失败并显示附加错误。 请确保您使用的是tasklauncher-cloudfoundry
接收器。此应用程序已添加到最新版本的应用程序启动器中。
如上一个 SO 线程所述,强烈建议您使用最新版本的应用程序启动器(1.0.4 至少是 10 个月前(。最新版本可以在项目现场找到。