当前位置: 首页 > 知识库问答 >
问题:

Spring间歇流量控制

葛念
2023-03-14

我在spring batch中有一份工作,包括一个阅读器、一个处理器和一个写入器。

首先,我想知道这3个组件以什么顺序运行:它们是顺序的(对于commit-interval=1)还是在写入前一个项目之前读取新项目以避免延迟?

我对此很感兴趣,因为我有以下案例:

我想有一条“装配线”:读-

这意味着在写入前一项之前不读取任何内容。

这东西已经开箱即用了吗?如果没有,我怎么能完成这样的事情?

共有1个答案

许学真
2023-03-14

在Spring Batch中,ItemReader、ItemProcessor和ItemWriter之间的交互如下:

    < li >直到达到大块尺寸 < ul > < li>ItemReader.read()
  • ItemProcessor.process()

也就是说,在块大小设置为1的情况下,它被处理读、处理、写、重复。

需要注意的是,不仅上述合同得到保证,而且每一步都在下一步执行之前运行到完成(不能承受拆分)。

您可以在以下文档中阅读有关各种组件如何交互的更多信息:http://docs . spring . io/spring-batch/trunk/reference/html/configure step . html # chunkOrientedProcessing

 类似资料:
  • 问题内容: 我正在构建一个包含以下过程的spring-batch解决方案: 步骤1:将列表分为多个列表步骤2:处理每个子列表步骤3:合并子列表 生成的子列表可以并行处理,并且根据spring-batch文档支持。可悲的是,我只能找到以并行步骤开始的spring- batch示例作业,而不是顺序开始的示例。 以下作业将无法编译。Spring给我一个错误:“无法解决step2” 那么,如何配置作业以首

  • 目录 概述 基于 QPS/并发数的流量控制 基于调用关系的流量控制 概述 流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 FlowSlot 会根据预设的规则,结合前面 NodeSelectorSlot、ClusterBuilderSlot、StatisticSlot 统

  • 缺省情况下,启用了Istio的服务是无法访问外部URL的,这是因为Pod中的iptables把所有外发传输都转向到了Sidecar代理,而这一代理只处理集群内的访问目标。 本节内容会描述如何把外部服务提供给启用了Istio的客户端服务使用,你会学到如何使用Egress规则访问外部服务,或者如何简单的让特定IP范围穿透Istio代理。 开始之前 遵循安装指南设置Istio 启动sleep示例,用于测

  • 1 背景 在系统访问量较大时,某些库的负载可能非常高,或者因为临时故障或系统bug导致大量异常SQL打到某个库上。为了防止数据库被这些异常流量打垮,需要在数据库访问层上对MySQL进行保护,因此zebra需要提供对某些特定SQL或某个库进行限流的功能。(SQL限流只是用于临时解决问题,事后还需业务方进行优化或扩容) 2 目标 动态限流,可动态配置限流策略与流量大小 支持限制某个数据源上的某些特定的

  • 如控制Egress流量告诉我们可以从服务网格内部应用访问外部(指在Kubernetes外的服务)的 HTTP 和 HTTPS 服务。默认情况下,支持 istio 的应用程序无法直接访问集群外部的 URL 。要启用这种访问,必须先定义 Egress 规则或者配置直接调用外部服务规则。 此任务描述如何配置 Istio 内应用如何访问 Istio 外部的应用。 开始之前 遵循安装指南设置Istio 启动

  • 程序执行流程是指程序语句执行的顺序。 默认情况下,语句会一个接一个地执行。 然而; 很多时候,执行顺序需要从默认顺序改变,以完成任务。 Euphoria有许多flow控制语句,您可以使用它们来安排语句的执行顺序。 exit声明 使用关键字exit退出循环。 这会导致流程立即离开当前循环,并在循环结束后重新开始第一个语句。 语法 (Syntax) exit语句的语法如下 - exit [ "Labe