spring-batch相关内容

如何在IntelliJ中做Spring批量应用的性能分析和调优?

我有一个在VM中运行的Spring批处理应用程序,处理10k条记录需要2个小时。 我们计划将应用程序迁移到Azure Kubernetes,我看到迁移的应用程序需要6个小时。 我需要进行必要的更改以满足当前性能。 我们没有对代码进行任何重大更改。 如何分析IntelliJ中的性能问题?是否有其他方法可以找到影响性能的原因。 注意:我没有appDynamic。 J ..
发布时间:2022-09-01 13:57:08 其他开发

在Kubernetes集群的特定节点上有条件地启动Spring Cloud任务

我正在构建用于批处理的数据管道。我发现使用Spring Cloud DataFlow是一个非常吸引人的框架。由于对SCDF和Kubernetes了解不多,我不确定是否可以在特定机器上有条件地启动一个Spring Cloud任务。 假设我有两台用于运行批处理的物理服务器(服务器A和服务器B)。默认情况下,我希望我的Spring云任务在服务器A上启动,如果服务器A关闭,任务应该部署在服务器B上。Ku ..

在Spring Batch中停止beForeStep中的作业

我希望能够在达到计时阈值时停止作业。我在考虑两种方法。首先是在后续步骤中停止工作。但是,如果它是在最后一步完成时,我不希望它具有停止状态。因此,我将在beForeStep中停止它。 我尝试使用 public void beforeStep(StepExecution stepExecution) { stepExecution.setStatus(BatchStatus.STO ..
发布时间:2022-06-28 09:29:57 Java开发

Spring Batch JPA Bulk Insert在使用GenerationType.IDENTITY时性能下降

我使用Spring Boot and Spring Batch and JPA将数据从一个数据库加载到另一个数据库。在单个批处理作业中,我创建了10 steps以按顺序运行步骤,每个步骤读取几乎1 millions个记录(我不能并行运行,因为我没有并行加载数据)。 我使用了GenerationType.IDENTITY,因为这个批处理作业花费了大量时间,所以看起来像是。如果我说加载100 r ..
发布时间:2022-06-28 09:24:00 其他开发

春季批处理和作业调度

我们的团队目前运行许多从以前的团队继承而来的计划作业,这些作业不是很多,但足以使其难以跟踪。我们当前的设置面临的主要问题是: -无法清楚地了解运行的内容以及运行时间 -通知作业失败的不同方式 -并不是所有的作业都支持重新运行,重新运行是否会起作用还是会让情况变得更糟,这只是个运气。 为此,我们一直在考虑使用Spring Batch重写作业,并使用SOS作业调度器来管理它们。 是否有其他人使 ..
发布时间:2022-06-28 09:15:58 其他开发

Spring Batch:从未调用过FlatFileItemWriter标头

我的FlatFileItemWriter回调有一个奇怪的问题。 我有一个实现FlatFileFooterCallback和FlatFileHeaderCallback的自定义ItemWriter。因此,我在FlatFileItemWriter中设置了页眉和页脚回调,如下所示: ItemWriter Bean @Bean @StepScope public ItemWriter ..
发布时间:2022-06-28 09:01:01 其他开发

如何为不同的Spring批处理作业编写多个日志文件?

我开发了一个包含多个作业的Spring Batch项目。 我的目的是将这些作业的日志写入单独的文件中。例如,当作业1启动时,所有事件都记录到job_1.log,当作业2启动时,其事件记录到job_2.log,依此类推。 在我的工作配置中,我使用了: private static final Logger logger = LoggerFactory.getLogger(Job1.cl ..
发布时间:2022-06-27 23:56:30 其他开发

跳过情况下禁用春批单项处理

我有一个处理(1000个)块中的项目的作业。这些项被编组到单个JSON有效负载中,并作为批处理发送到远程服务(在一个HTTP POST中全部为1000个)。有时,远程服务陷入停顿,连接超时。我为此设置了跳过 return steps.get("sendData") . chunk(1000) ..
发布时间:2022-06-27 23:45:15 其他开发

如何在春季批次中使用Decider?

我是Spring Batch的新手。我已经创建了一个决策器,它将FlowExecutionStatus返回为&yes";/";no";。基于FlowExecutionStatus,我需要调用step2()或step3()。 在我的以下代码中,step2()在Decider之前被调用。如何修改代码,以便调用Decider,并根据Decider返回的FlowExecution ..
发布时间:2022-06-27 23:37:38 其他开发

春季重试阅读器

我已经编写了一个Spring批处理应用程序,而项阅读器抛出了异常。 如何重试项目阅读器? 我已经添加了 @EnableRetry在应用程序类上,下面是阅读器代码 @Bean @Retryable(include = { RuntimeException.class }, maxAttempts = 1000, backoff = @Backoff(delay = 0)) public ..
发布时间:2022-04-14 22:53:37 Java开发

使用CompositWriter的FlatfileItemWriter示例

我有一个Spring批处理,它将读取CSV文件,然后处理它并将其写入另一个CSV文件。我想根据处理结果将结果写入两个不同的平面文件中。需要将成功处理的记录写入一个文件,将失败记录写入另一个文件。 我看到可以使用";CompositeItemWriter";的示例很少,但没有用于多个";FlatfileItemWriter";的确切示例。 有没有人,请分享 ..

基于项目字段的春批补齐策略

我正在尝试实现CompletionPolicy,其中我需要根据一些字段来决定完成,例如,假设我的项目是一个Order类,我需要将订单金额相加,一旦金额超过1000,我就希望Chunk完成。 订单金额 但在CompletionPolicy中,我从来没有得到过项目。有其他方法可以实现它吗? 或者我可以通过某种方式在CompletionPolicy中获取项目 推荐答案 您可以让Comp ..
发布时间:2022-04-14 22:46:40 Java开发

使用Spring Batch连续链接两个作业的最佳方法

我有两份工作(工作1、工作2) 作业2取决于作业1的结果,因此它必须等到作业1完成 我需要以某种方式链接它们: job1完成时需要调用job2。如何做到这一点呢?在末尾使用tasklet,它将调用job2? 另一种方式可能是,一旦job1返回,调用程序(即某个调度程序服务)将负责调用job2-这不是很好,因为我需要同步调用job1。 如何使用Spring Batch实现两个 ..
发布时间:2022-03-09 13:40:07 Java开发

Spring集成-传出转接重命名问题

我使用示例程序here来构建我的代码。本地SFTP测试服务器一切正常,当我今天在我的客户端SFTP服务器上测试时,它给了我一个例外,如下所示。 当我调试时,我看到客户端的SFTP服务器上的文件被写入,扩展名为“.write”。内容很好,我看不出传输的文件有任何问题,但现在的问题是文件名。在阅读spring docs之后,我看到这是临时文件扩展名,程序尝试将其重命名回原始名称,但由于客户端SF ..
发布时间:2022-03-03 11:13:22 其他开发

跳过春季批次表尾行数

我正在使用FlatFileItemReader读取带分隔符的平面文件。虽然我可以通过字段linesToSkip跳过页眉数量,但无法按行数跳过页脚。 推荐答案 您可以创建自定义行映射器,在其中可以通过正则表达式匹配或行号跳过。 public class CustomLineMapper extends DefaultLineMapper { @Sette ..
发布时间:2022-02-28 17:51:10 Java开发