问题标签 [spring-cloud-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

spring-cloud - 限制 Spring Cloud Task 实例

是否有任何此类功能/支持在任何给定时间只允许执行一个任务实例而不会启动同一任务的其他实例?

亲切的问候。

0 投票
1 回答
2635 浏览

spring-boot - 在 Spring Boot / Spring Batch 应用程序上配置 Atomikos 的问题

我正在尝试让 Atomikos 与我的 Spring Boot/Spring Batch 应用程序一起工作。

这是我的代码的相关部分:

数据源配置:

Atomikos 自动配置依赖:

我的application.properties

这是自动配置报告:

我不确定为什么 Atomikos 没有自动配置...有人可以帮忙吗?

编辑:我已经注释掉了 JTA transactionManager bean,现在我得到了以下自动配置报告:

我如何确保 Atomikos 事务管理器被拾取?

编辑2:我排除TransactionManager了如下类:

但我似乎SimpleBatchConfiguration仍然对我SimpleTaskConfiguration施加了几个TransactionManager类中的一个:

导致AtomikosJtaConfiguration不匹配...

有人可以建议最佳实践以使 Atomikos 自动配置正常工作吗?

0 投票
2 回答
2972 浏览

spring-boot - Spring Cloud 任务的 SimpleTaskConfiguration 和 Spring Batch 的 SimpleBatchConfiguration 防止 Spring Boot 自动配置 XA 事务

我正在尝试为配置了 Spring Boot 的 Spring Batch/Spring Cloud 任务应用程序配置 XA/分布式事务。

我添加了以下依赖项,希望依赖于 spring boot 自动配置:

但是,以下两个类会导致配置两个事务管理器:

  • org.springframework.cloud.task.configuration.SimpleTaskConfiguration

  • org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration

请参阅以下消息:

然后因为配置了一个PlatformTransactionManager命名transactionManager,所以我的 atomikos 自动配置没有被选中:

有人可以帮我防止transactionManager上述两个类对豆子的过度强迫吗?

0 投票
1 回答
2171 浏览

spring - 如何使用 Spring Cloud Task 动态部署独立 Spring 批处理

我们计划淘汰现有的遗留 Java 批处理应用程序,并使用最新的可用批处理框架重新创建它。鉴于我们有大量的批处理作业需要现代化,我们正在寻找一个框架或架构,让我们能够

  1. 开发一个批处理解决方案,允许我们在创建新批处理时动态部署它们,而不会干扰现有部署的应用程序。- Spring cloud Task 是否提供任何此功能。注意:我们只希望将应用程序部署到我们的本地服务器,与云无关。
  2. 如果 Spring Batch/Boot 可以为我们提供我们通常期望从批处理应用程序中获得的功能,那么 Spring Cloud Task 的特殊附加值是什么?- 我无法从在线提供的 Spring 文档中完全理解这一点。
  3. 从 Spring Cloud Task 的文档中,我能够理解它允许应用程序在其中包含许多任务。如果每个任务都有自己的库依赖关系,这可能与其他任务的依赖关系相矛盾,我该怎么办?那么在这种情况下,是否应该将这些任务中的每一个都转移到一个新的应用程序中,或者是否可以解决这个问题?
0 投票
2 回答
1842 浏览

cloud-foundry - 无法从 Spring Cloud 数据流流启动任务

我在 Spring Cloud Data Flow 中注册了我的任务应用程序,为它创建了一个定义,状态显示为“未知”。我创建了流并尝试通过任务接收器启动任务,但出现错误:

如何从任务接收器启动任务?我错过了什么吗?任何帮助表示赞赏。我的另一个问题是如何在我的任务中访问通过 TaskLaunchRequest 发送的有效负载?S1 http | step1: 变压器兔 | 日志 S2 :S1.step1 > 过滤器 --expression=payload.contains('CUSTADDRMODRQ_V15') | 任务处理器 | 任务接收器

task-sink 正在启动 TaskLaunchRequest 中 uri 提供的任务。它正在寻找资源,如日志中所示 OUT 使用管理器 EnhancedLocalRepositoryManager 优先级 10.0 用于 /home/vcap/.m2/repository OUT 使用传输器 HttpTransporter 优先级 5.0 用于https://repo.spring.io/libs-snapshot和终于失败了。

该任务部署在我们的存储库中,如前所述,我也为它注册并创建了定义。

这是在 cf 环境中,我使用的是 SCDF 服务器 1.0.0.M4。在任务接收器的 application.properties 中,我提供 maven.remote.repositories.snapshots.url=**

任务创建 fis-ifx-event-task --definition "fis-event-task"

我的目标是从流中启动任务。

谢谢提供信息。我实际上正在使用 BUILD-SNAPSHOT,因为我无法在 1.0.0M4 版本中启用 taks。这是我正在使用的 spring-cloud-dataflow-server-cloudfoundry-1.0.0.BUILD-20160808.144306-116。我能够注册和创建任务定义。即使我使用您团队提供的示例任务模块,任务定义的状态也显示为“未知”。但是当我启动流的流程并且当 task-sink 尝试启动任务时,它无法找到 maven 资源。创建任务定义时,是否部署了任务模块?我在 Pivotal Apps Manager 中看不到任何应用程序。如前所述,我在 application.properties 文件中为 task-sink 应用程序提供了 maven.remote.repositories.snapshot.url。我观察到的另一件事是,当我从数据流 shell 手动启动任务时,它会给出错误 CF-UnprocessableEntity(10008): The request is semantically invalid: Unknown field(s): 'staging_disk_in_mb', 'staging_memory_in_mb' 还有一条消息说'源为空'。目前该任务应该打印时间戳并且不依赖于任何输入。


我在帖子前面提供了我正在使用的流。如您在此处看到的,Sink 正在接收带有 uri 和有效负载的 TaskLaunchRequest,并且无法启动任务。

0 投票
2 回答
6598 浏览

spring-cloud-dataflow - spring-cloud-dataflow 是否提供对定义为任务的调度应用程序的支持?

我一直在研究使用 spring-cloud-dataflow 中使用 spring-cloud-task 构建的项目。在查看了示例项目和文档后,似乎表明任务是通过仪表板或外壳手动启动的。spring-cloud-dataflow 是否提供任何调度任务定义的方式,以便它们可以在例如 cron 计划上运行?即您能否创建一个本身不了解计划的 spring-cloud-task 应用程序,但将其部署到数据流服务器并在那里配置计划?

在我看过的帖子和博客中,我注意到以下几点:

https://spring.io/blog/2016/01/27/introducing-spring-cloud-task

之后的一些问答暗示这是一种可能性,并提到了触发器,但我认为这是在发布之前讨论过的。

任何建议将不胜感激,非常感谢。

0 投票
1 回答
3412 浏览

spring-cloud-dataflow - 如何使用 rest-api 执行 Spring Cloud 任务

我知道可以安排云任务,并且可以使用流进行配置,也可以执行。作为一名开发人员,我想使用 rest-api 执行我的 spring 云任务,以便我可以按需执行任务。基本上我有一个工作流程管理系统,我们正在使用 control-m 代理。所以现在一些作业将由control-m执行,一些任务将部署在spring cloud dataflow server上。现在,当一项作业完成时,必须执行云上的另一项作业。因此,为此我需要能够调用 rest api 并按需执行云任务。我确信此功能必须存在,但我无法找到文档示例。有人可以帮帮我吗。提前致谢。

0 投票
2 回答
1268 浏览

spring - 将基于事件的spring cloud任务执行到消息源(即RabbitMQ,Kafka)

我是学习 Spring 云任务和 SCDF 的新手,所以问这个。

我想根据一个事件执行我的 SCT(比如将一条消息发布到 Rabbit MQ),所以我认为它可以通过两种方式完成:

  1. 创建一个从 RabbitMQ 轮询消息并将数据发送到流的源,现在创建一个从流中读取数据的接收器,一旦数据到达接收器(来自源流),任务就会启动。

    不确定这是否可能?

  2. 其他方式可能是使用任务启动器。这里任务启动器将配置一个流,一个监听器将从 rabbitMQ 轮询消息。因此,当收到消息时,触发器将启动该过程,而 tasklauncher 将启动该任务。但是这里不确定我将如何将消息数据放入我的任务中?我是否必须将数据添加到 TaskLaunchRequest 中?

    /li>
0 投票
0 回答
879 浏览

spring - 如何用 Spring Boot Admin 替换 Spring Batch Admin

我的直截了当的问题是:在 Spring Batch Admin 中有一个清晰的概念和实用的功能来管理工作。因此,在 Spring Batch Admin 中,您可以启动、停止一项作业、停止所有作业、重新启动、放弃、查看每个作业的状态并检查它是成功还是失败。如果我在同一服务器中使用部署为战争的 Spring Cloud Task 和部署为战争的 Spring Boot Admin,我该如何管理我的工作?

更好地解释我的背景:在过去的 6 个月中,我开发了一些 Spring Batch 工作。所有这些都是为了定期运行而设计的,换句话说,是按计划运行的。我没有计划将它们部署在 Web 服务器中,但我公司在发布到生产环境的那一刻被告知,我必须在大型机 Websphere 中运行任何解决方案。

这根本不是问题,因为我意识到我可以使用 Spring Batch Admin 来启动/停止部署在同一个 EAR 中的所有 Spring Batch。不幸的是,Websphere ND 8.5 不符合 Spring Batch Admin(您可能听说有人告诉他/她已经设法让 Spring Batch Admin 在 Websphere 8.5 ND 中启动并运行,但我从 IBM 得到了最终的立场,即 JSR352 和 Spring Batch 都不是Admin 可以安全使用)。

一周前,由于对我的问题如何注册 org.springframework.integration.monitor.IntegrationMBeanExporter的某些评论,我第一次与 Spring Boot Admin 取得了联系。

在这样的评论中,我读到“......考虑摆脱批处理管理。这个项目已经过时了,有利于cloud.spring.io/spring-cloud-task......”但是在我看来它并不确实提供了与 Spring Batch Admin 相同的功能。在我看来,它更通用一些,并且针对的是应用程序框而不是作业执行。

为了让我的问题更清楚,假设我将此项目部署为战争https://github.com/spring-cloud/spring-cloud-task/blob/master/spring-cloud-task-samples/batch-job /src/main/java/io/spring/configuration/JobConfiguration.java并且这两个作业都安排为每 5 分钟运行一次。另外,在这样的项目中,我添加了必要的配置以使其对 Spring Boot Admin 可见(例如 spring-boot-admin-starter-client)。在同一台服务器中,我也将此 Spring Boot Admin 部署为战争https://github.com/codecentric/spring-boot-admin/tree/master/spring-boot-admin-samples/spring-boot-admin-sample-战争. 现在,我的问题与标题相同,但更具例证的是:我能否停止一项工作并让另一项工作继续从 Spring Boot Admin 运行?我可以启动一个而让另一个停止吗?

如果您,读者,对 Spring Batch Admin 有一个概述,可能会很快理解我的意图。我阅读了 Spring Boot 管理手册 http://codecentric.github.io/spring-boot-admin/1.4.1/#jmx-bean-management 3.2。JMX-bean 管理“...要在管理 UI 中与 JMX-beans 交互,您必须在应用程序中包含 Jolokia”。为了单独管理每项工作,是否有一些通过 Jolokia 的技巧?

0 投票
1 回答
760 浏览

cloud-foundry - Cloud Foundry v2 中启动一次性任务的问题

目前我只是在尝试使用我的帐户在关键公共云中使用spring cloud任务功能,api版本是2.63。我只是从spring cloud任务文档中复制唯一完整的示例代码,在本地构建打包并推送到cloud Foundry,并在manifest.yml中指定“no-route:true”和“health-check-type:none”。但这似乎没有用,成功运行示例并销毁容器后,日志显示错误信息“Process has crashed with type: web”。所以我想知道为什么cloud foundry认为我的应用程序是一个基于web的应用程序,因为从依赖关系来看,我只使用了spring-cloud-task-core和spring-boot-starter。为什么即使我已将其设置为避免此类检查,它仍会执行健康检查?