问题标签 [spring-batch-tasklet]

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 投票
0 回答
19 浏览

spring-batch - 是否可以在春季批次中将大物体从一个步骤传递到另一个步骤

要求是在条件流中将大对象从一个步骤传递到另一个步骤,我们也应该能够修改对象数据。根据文档,我们可以将其提升为作业执行侦听器,但从我所读到的这种方式的缺点是大对象不能存储在这种方法中,适合这种需求的生产级解决方案是什么

0 投票
0 回答
31 浏览

oracle - 有没有办法在 Oracle 中找到最近 30 分钟内更新的所有表和记录?

我正在调试一个使用 Oracle 的 spring 批处理应用程序。我看到很多表都被春季批处理作业修改了。而且,很难通过代码库来理解所有被修改的表是什么。

有没有一种简单的方法可以知道春季批处理作业修改了哪些表和记录?

0 投票
1 回答
156 浏览

java - 在 afterstep() 中完成每个 tasklet 之后的 Spring 批处理运行异常抛出方法

这是我在 Spring Boot 中使用 tasklet 的示例代码。我的问题是:我想从 中抛出异常afterstep(),但接口不允许。

尽管有这个限制,但我痴迷的原因afterstep()是我想制作抽象类来制作 Tasklet 模板,它可以验证afterstep(). 我希望在execute()完成后运行验证,这将被子类覆盖。所以我别无选择,只能使用afterstep().

任何想法在每次execute()使用可抛出或afterstep()可以将异常传递给之后运行验证方法logExceptionHandler()?我希望logExceptionHandler()TaskletConfiguration课堂上定义。如果在Tasklet类中定义会很胖,因为我会做抽象类,它会被很多子类继承。

0 投票
1 回答
61 浏览

spring-boot - 在 Spring Batch 中对字段进行处理时读取新文件

我使用 SPRING BATCH 读取了一个固定长度的输入文件。我已经实现了 Job、Step、Processor 等。下面是示例代码。

对于处理,我添加了一些我需要的示例代码,但是如果我在这里添加 BufferedReader,那么完成这项工作需要更多时间。

在处理一个或多个字段时,我需要通过读取该文件来检查另一个文件(这是我将从 fileSystem/Cloud 读取的文件)。

在处理 5 个字段的数据时,我需要再次读取 5 个不同的不同文件,我将检查这些文件中的字段详细信息,然后生成结果,该结果将继续处理。

0 投票
0 回答
26 浏览

java - 在 Java TeraSoluna 框架中重复一个 Job Tasklet

我希望我的 Terasoluna 应用程序每分钟重复一次这个 tasklet。有没有办法只使用xml来做到这一点?

0 投票
0 回答
33 浏览

java - 如何创建 Spring Batch Service 以读取和处理来自同一临时文件夹的文件(PDF、XML 和 HASH)?

我需要编写一个 Spring Batch Reader 从临时文件夹中读取多个文件(.pdfs、.xmls 和 .hashs)。然后我需要为每个pdf和xml文件生成哈希码,然后在.hash文件中找到对应的哈希码

我已经使用 ResourcesItemReader 实现了一个解决方案来读取 PDF 和 XML,然后对于每个文件,我通过另一个 HASH 文件列表来查找兼容的哈希码。

对于少数处理过的文件,它工作正常。但是,当文件量非常大时,该过程会运行数小时且无法完成。

关于如何改进此解决方案的任何想法?

0 投票
1 回答
63 浏览

spring-boot - 如何使用spring批处理注释配置读取和执行批处理

我有 2 个具有不同数据的不同文件。该文件每天包含 10K 条记录。

我想通过检查今天和昨天文件的价格差异来创建最终输出文件。

通过使用弹簧批处理,我必须这样做。我通过创建两个不同的步骤尝试了批量配置。但它只能读取数据。但无法进行处理。因为这里我需要两个文件的数据进行处理。但在我的情况下,它一步一步地阅读。

任何人都可以通过一些示例代码帮助我。

0 投票
1 回答
156 浏览

java - 在春季批处理中处理作业参数验证

我正在使用 Spring 批处理进行批处理,在进行批处理之前,我想验证所有作业参数,例如productName, productID, start date, end date, productType,如果这些作业参数为空或包含错误值,我必须使验证步骤失败并使作业失败。

我已经编写了验证步骤和 Tasklet,在我的 Tasklet 中我打算处理作业参数验证(对所有作业参数进行空检查)。因为我是第一次做 Spring 批处理,所以我想听专家说这是处理工作参数验证的正确地方,或者有没有任何有效的方法来做这件事。如果有人可以帮助我提供您的宝贵建议或示例,那将非常有帮助。

提前感谢您的帮助!谢谢

请在下面找到我的示例代码:

MyJobConfig.java

JobParamValidateTasklet.java

0 投票
1 回答
13 浏览

spring - 如何异步运行 SystemCommandTasklet

我想使用 Spring Batch 运行 shell 脚本并让批处理控制作业 ID 和状态。但我不希望我的应用程序等待/挂起,直到这个 shell 脚本(SystemCommandTasklet)完成。

当我运行上面的代码时,批处理/应用程序会等到“命令”完成。如果我添加jobLauncher.setTaskExecutor(new SimpleAsyncTaskExecutor());,那么它会失败而不会记录任何错误。

0 投票
0 回答
30 浏览

java - 使用弹簧批处理将输出数据写入两个不同的平面文件

我有一个要求,比如我需要通过使用 Spring Batch 从数据库中读取数据来创建两个不同的布局平面文件。

处理器

作家

我有OutputFile数据,但现在我想将此数据写入具有不同布局的两个不同平面文件。在第二个文件以及一些数据中,我必须添加两个常量数据,我将从属性文件中获得。

例如:文件1.txt

姓名年龄

例如:文件2.txt

名称,暴民,常数1,常数2

作业配置