问题标签 [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.
java - Intellij Idea 中忽略了 Spring Batch Tasklet
弹簧布奇配置文件:
如果我已经启动它:
检查日志我们可以检测到一切都已完成。
但
Tasklet
s 没有被执行。因为这个,我真的很困惑。检查数据库我检测到作业状态是COMPLETED
but exit_code
is NOOP
。
我也检测到,使用.allowStartIfComplete(true)
forstep
触发器tasklet
执行。但这就像一个 hack,它只能在同一作业范围内单次用于该步骤(它不适用于同一作业中的双例执行步骤)。例如:
如果我在终端启动项目 - 它可以正常工作。
我的环境:
- OpenJDK 运行环境 Zulu11.29+3-CA (build 11.0.2+7-LTS)
- 摇篮 5.4.1
- Idea社区(刚安装最新版本)
- 操作系统 ubuntu 18.04
- 从想法启动应用程序的命令是:
问题
我猜想法的问题,因为它在终端中有效。有什么方法可以分析和检测我的案例的原因并解决它,如何?
附言
我已经做了下一次不成功的尝试来修复它:
- 重新安装的想法;
- 从准备好的来源和春季开始重新创建项目;
- 重新启动想法使缓存无效 -
spring-batch - Spring批处理长时间运行的tasklet报错最后一个成功发送到服务器的数据包是
我长时间运行 tasklet 运行了 20 小时,任务完成后,由于 mysql 连接关闭,我在 Spring 批处理中遇到错误。
下面是我的工作配置
作业配置是
ttl 生成步骤耗时 20 小时,必须处理 330GB 数据。
完成此步骤后,我遇到了错误。请建议。
java - 步骤执行状态在 Spring Batch 中没有像 Finished
在 SpringBatch 中,作业没有按照定义的步骤完成,而是继续从 Writer 到 Reader,而 Debugging 发现的上下文计数增加为 1
,因为执行状态为“CONTINUABLE”而不是“FINISHED”。
第 1 步即将完成,但第 2 步遇到此问题..请帮助..
spring-batch - 批处理应用程序中的计划作业有时会引发错误
我有一个调度程序来安排作业在特定时间运行。根据给定的 cron 表达式,它包含大约 10 个要运行的作业。但有时某些作业会出现异常“CannotSerializeTransactionException”失败,而且这种情况发生得最频繁。
我们有一个 platformTransactionManager,它返回给动态创建的 jobRepository。
因此,我无法为 jobRepository 设置隔离级别。现在如何解决问题以解决错误。我试图调查这个问题,但我不明白是什么导致工作失败。
java - Spring Batch ItemReader 在第一行获取 NullPointerException
当我尝试读取我的 csv 文件时,我遇到了 Spring batch 的这个问题。
我必须阅读具有如下结构的CSV:
我有一个MultiResourceItemReader,它委托 String 类型的FlatFileItemReader,以便在之后执行的自定义项处理器中轻松将此行映射到我的自定义 DTO。
在我的 Tasklet 中,我像这样注入了 MultiResourceItemReader bean:
然后我这样称呼它(设置资源和上下文):
我也会附上我的 readerItems bean:
java - 在 Spring 批处理中将属性注入 FlatFileItemWriter
我需要生成一个名为:当前日期NEW_NAME_YYYY-MM-DD
在哪里的文件。YYYY-MM-DD
一切正常,除了当我的批处理尝试获取属性tmp.dir
时,它什么也没找到并调用目录null
。这是我正在使用的 Writer 类:
applicationContext.xml
这是与属性文件的属性占位符一起放置的 bean 定义:
关于为什么不注入属性的任何想法???至于batch.properties
在我的例子中调用的属性文件,它在 applicationcontext 中声明得很好。
spring-batch - 弹簧批处理解决方案
1
在我们的应用程序中,我们有大约 100000 个客户,并且需要每月处理一些数据。每个客户的数据处理逻辑涉及对不同服务的大约 7 次休息调用。我们需要在 Spring Batch 中执行此操作以实现性能。
处理数据的步骤--l读取所有客户列表-获取数据web服务--l调用7个不同的微服务来获取余额、类型、费用、日期等..-l将结果写入S3存储桶
请建议设计春季批次的流程
spring-boot - 当我的 Spring Batch 阅读器返回 null 时,如何创建一个空文件
我有一个 Spring Batch 应用程序,其中有 Reader - Processor - Composite Writer
现在在我们的应用程序中有一个用例,当我的阅读器返回 null 时(即当它读取空文件时),我需要编写一个空文件,否则,我的阅读器应该调用处理器 - 编写器流。
任何帮助或建议我如何以最好的方式处理这个案例?
java - Tasklet#execute 什么时候应该返回 CONTINUABLE?
我读到:
在您的 Tasklet 实现中完成处理后,您将返回一个 org.springframework.batch.repeat.RepeatStatus 对象。有两个选项:RepeatStatus.CONTINUABLE 和 RepeatStatus.FINISHED。乍一看,这两个值可能会令人困惑。如果您返回 RepeatStatus.CONTINUABLE,您并不是说该作业可以继续。您正在告诉 Spring Batch 再次运行 tasklet。比如说,你想在一个循环中执行一个特定的 tasklet,直到满足给定的条件,但你仍然想使用 Spring Batch 来跟踪 tasklet 的执行次数、事务等等。您的 tasklet 可以返回 RepeatStatus.CONTINUABLE 直到满足条件。如果您返回 RepeatStatus.FINISHED,
但我无法想象使用此功能的示例。你能给我解释一下吗?下一次 tasklet 何时被调用?
spring-batch - 作业实例已存在且已完成,参数 ={}。如果要再次运行此作业,请更改参数
运行弹簧批处理应用程序时出现以下错误
作业实例已存在且已完成,参数 ={}。如果要再次运行此作业,请更改参数。
我已经尝试过以下事情,并且有几次应用程序会启动,但大多数时候它都无法正常工作
每 5 秒执行一次进程的代码。试图将其更改为 60 秒,但同样的问题。
数据源