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

Spring批量错误处理

闾丘鸣
2023-03-14
@Bean
   public Step step1() {
       return stepBuilderFactory.get("step1")
            .<Person, Person> chunk(1)
            .reader(reader()).listener(customReadItemListener)
            .processor(processor()).listener(customProcessListener)
            .writer(writer()).listener(customWriteListener)
            taskExecutor(taskExecutor())
            .build();
}

共有1个答案

蒋哲
2023-03-14

如果没有完整的代码,我不知道问题出在哪里,但您可以检查以下几点:

  1. 是否将侦听器声明为组件(@component)?
  2. 您的侦听器正在实现ItemWriteListener、ItemProcessListener和ItemReadListener吗?
  3. 是否在相应的方法上声明了@onWriteError、@onReadError和@onProcessorError?

如果您已经解决了这些问题,并且在主配置文件中有了适当的配置,这应该可以工作。

 类似资料:
  • 我开始学习spring batch,遇到一个问题,当我想使用在数据库中持久化作业的状态时。编译器显示: “原因:org.springframework.beans.factory.beanCreationException:创建类路径资源[springconfig.xml]中定义的名为'job repository'的bean时出错:调用init方法失败;嵌套异常为java.lang.noClas

  • 问题内容: 我找不到任何有关Elastic Bulk API在一项或多项操作失败时会发生什么情况的文档。例如,对于以下请求,假设已经有一个ID为“ 3”的文档,那么“创建”应该 失败-这会使所有其他操作失败 吗? 我正在使用nodejs弹性模块。 问题答案: 任何一项行动的任何失败都不会影响其他行动。 从elasticsearch bulk api 的文档中: 对批量操作的响应是一个大型JSON结

  • 我们已经使用eclipse构建了一个spring批处理应用程序。每当我通过eclipse执行程序时,它都运行良好。但当我尝试生成并运行使用ant创建的jar文件时,我得到了这个丑陋的堆栈跟踪。 2012年12月27日11:10:30880 1141[主][]错误(CommandLineJobRunner.java:355):作业因错误而终止:类路径资源[启动上下文.XML]的XML文档中的第12行

  • 在happy path场景中,我有一个spring批处理工作,但现在我将重点放在错误处理上。 但是,在另一个测试中,我想证明一个不可预见的数据库错误会导致作业失败。为此,我创建了一个触发器,该触发器会导致对要插入的表的插入失败。 这似乎起作用了,在writer执行之后,在事务提交期间抛出异常,并且我得到以下日志消息: 这似乎也是预期的行为。问题是,这并不能阻止工作。该步骤退出到SimplyRetr

  • 我有以下步骤:

  • 我按照本教程在Java中配置Spring批处理作业。它通过使用一个接口为多个数据源做准备,然后由每个数据源实现该接口。 这是我目前所掌握的: PostgreSQLConfig.java jobconfig.java 通过对我的MySQLConfig使用注释,我希望使用MySQLConfig bean。相反,我得到的是: