Spring Batch - 计算已处理的行数

2023-11-24

因此,我正在创建一个 Spring Batch 作业来读取 CSV 文件以及包含不完整数据的某些行;它检查该行不完整,并将其输出到日志,然后跳过。它工作得很好,除了在工作结束时我希望它记录它发现的不完整的行数。只是一些简单的事情,比如“发现 X 个不完整的行”。

我用谷歌搜索并寻找解决方案,但没有找到任何真正的东西。

如有任何帮助,我们将不胜感激,如果需要更多信息,请询问。


Spring Batch 本身会跟踪它读取、写入、处理的记录数量以及跳过的记录数量(对于每个数字)。该信息存储在StepExecution. The StepExecution可以从StepExecutionListener。在这种情况下,实施afterStep方法就足够了。

public class SkippedItemStepExecutionListener extends StepExecutionListenerSupport {

    @Override
    public ExitStatus afterStep(StepExecution stepExecution) {
        int skipped = stepExecution.getSkipCount(); // Total for read+write+process
        // Log it to somewhere.        
        return null;
    }
}

如何将其添加到您的工作/步骤中进行了说明参考指南

Links

  1. 步骤执行javadoc
  2. 步骤执行监听器javadoc
  3. 监听器配置参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Batch - 计算已处理的行数 的相关文章

随机推荐

  • 如何解决 MS Access 2010 中的“条件表达式中的数据类型不匹配”错误? [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我正在尝试对 MS Access 数据库中的报告进行故障排除 该文件是由在我加入我所工作的组织之前担任我的职位的人员构建的 报告抛出错误 条件表达式中的数据类型不匹配 这使我相信导入数据库
  • 运行时主机到底是什么?

    Runtime Host 的确切定义是什么 来自MSDN 公共语言运行时被设计为支持各种不同类型的应用程序 从Web 服务器应用程序到具有传统的丰富Windows 用户界面的应用程序 每种类型的应用程序都需要运行时主机来启动它 运行时主机将
  • 如何在 Java 中检测 Image 对象上的鼠标单击事件?

    实施 国王角Java 中的 美化的多人纸牌游戏 我试图允许玩家将一张牌 图像 从他们的手上拖到桌子上的其他地方 问题在于玩家的手是 扇形 的 因此纸牌的图像会旋转并且重叠 这是一手牌的例子 我考虑过让每张卡都成为JPanel 但问题是我必须
  • C++ 先前的定义错误

    因此 感谢这个网站 我找到了之前问题的答案 我正在向 GNU automake 项目中的类添加一个函数 该函数使用指向doc目的 依赖项包含在 Makefile am 文件中以包含doc h and plsa h按各自的顺序 但是 当我编译
  • 为什么这段代码不抛出 NullPointerException

    我只是和我的朋友讨论使用类名调用静态方法 并尝试了这段代码 并期望它在运行时抛出 NPE 但事实证明它没有作用 我只是想了解执行顺序 public class One public static void method System out
  • NSObject.BroadSystemFontWeights 警告消息是什么意思?

    我最近将 XCode 更新到 7 0 并收到以下警告消息 Xcode IDEInterfaceBuilder Cocoa NSObject BroadSystemFontWeights 这是什么意思以及如何摆脱它 当我将字体粗细设置为时 我
  • 使用 document.execCommand('copy') 复制到剪贴板因大文本而失败

    我使用隐藏文本区域来放置一些文本 选择它 然后使用 document execCommand 将其复制到剪贴板 这通常有效 但当文本很大时会失败 返回 false 在 Chrome v55 中 它似乎在 180K 字符左右失败 通过这种方式
  • 如何使用 Haskell 向量编写并行代码?

    一只手 在 Haskell 中Vector a似乎是用作数字数组的首选类型 甚至还有一个 不完整的 矢量教程 另一方面 Control Parallel Strategies主要是根据Traversable 矢量库不提供这些实例 的最小完整
  • 如何批量更新 postgres 中的单个列 5500 万条记录

    我想更新 postgres 表的一列 记录大约有 5500 万条 因此我们需要批量更新 10000 条记录 注意 我们要更新所有行 但我们不想锁定我们的桌子 我正在尝试以下查询 Update account set name Some na
  • git 子模块 foreach 不工作

    我想弄清楚为什么git submodule foreach命令对我不起作用 我克隆了一个 git 存储库 它有几个子模块 我想立即初始化并更新所有子模块以获取子模块源 但无论我尝试 git submodule foreach 都不适合我 我
  • 如何在地址栏上显示标志?

    我想在地址栏上显示徽标 但它仅在标题旁边的选项卡上可见 简短的回答 是的 这就是许多浏览器的工作原理 火狐浏览器 http msujaws wordpress com 2012 04 23 an update to site identit
  • 为什么实现接口的类中的通用成员函数不能采用类(而不是接口)类型的参数?

    考虑一个接口IDog用方法likes
  • 通过多列进行 SQL 过滤

    我有一个 MySql 表 我想查询其中的行pairs列位于特定集合中 例如 假设我的表如下所示 id f1 f2 1 a 20 2 b 20 3 a 30 4 b 20 5 c 20 现在 我希望提取其中该对的行 f1 f2 是 a 30
  • 在 R 中:通过对范围内的值进行布尔比较来索引向量:index==c(min : max)

    在 R 中 假设我们有一个向量 area c rep c 26 30 5 rep c 500 504 5 rep c 550 554 5 rep c 76 80 5 和另一个向量yield c 1 100 现在 假设我想像这样建立索引 gt
  • 如何在 Selenium 中等待警报框执行操作?

    我按下取消按钮 根据我的代码 它正在检查一些文本 在 Chrome 和 Firefox 中 它工作正常 但在 IE 中 在警报框上执行操作需要时间 但代码会移动到下一行 所以我想要一些代码停止 直到在警报框中执行操作 然后才进入下一步 我正
  • Mercurial CGI (hgweb.cgi) 失败

    我在虚拟机上运行的 Win 2k8 R2 上安装了 Mercurial 1 8 1 Python 2 6 6 我尝试过从 msi 源代码和使用 tortisehg 安装 命令行 Hg 工作正常 但运行 hgweb cgi 时出现相同的错误
  • 加载 YOLO:标量变量的索引无效

    收到 IndexError 错误 yolo layers 行上标量变量的索引无效 network cv2 dnn readNetFromDarknet yolov3 cfg yolov3 weights layers network get
  • 在 C 中安全地将 char* 双关

    在开源中方案一 写道 我正在从文件中读取二进制数据 由另一个程序写入 并输出整数 双精度数 以及其他各种数据类型 挑战之一是它需要 在两种字节序的 32 位和 64 位机器上运行 这意味着我 最终不得不做相当多的低级操作 我认识一个 非常
  • 将图像水平居中定位并使高度为视口的 100%

    我有一张图像占据了视口的整个高度 图像高度应跨越整个视口高度 100 以便适合查看的屏幕 此处已完成 并且宽度应与高度成相对比例 正如您在我的页面中看到的 http lamininbeauty co za 页面两侧有空间 我希望图像水平居中
  • Spring Batch - 计算已处理的行数

    因此 我正在创建一个 Spring Batch 作业来读取 CSV 文件以及包含不完整数据的某些行 它检查该行不完整 并将其输出到日志 然后跳过 它工作得很好 除了在工作结束时我希望它记录它发现的不完整的行数 只是一些简单的事情 比如 发现