【问题标题】:multiple FieldSetMapper in one spring batch job一个春季批处理作业中的多个 FieldSetMapper
【发布时间】:2017-10-19 20:56:36
【问题描述】:

我有一个 spring 批处理程序,它读取一个文件并保存到数据库中。文件的内容进入不同的表。并使用 Spring Data JPA 保存。

 public class Pojo{
  private AnotherObject sCode;  
  private String aName;
  private String aCode;
 }

 public class AnotherObject{

  private String cName;
  private String cCode;
 }

{"aName","aCode","cName","cCode"}

如何编写 2 个不同的 FieldSetMapper 并获得此功能或有其他方法

【问题讨论】:

    标签: spring-data-jpa spring-batch


    【解决方案1】:

    由于只读取一个文件,因此您只需要一个 FieldSetMapper,但您将其写入不同的数据库,然后您需要复合写入器,您可以查看 https://stackoverflow.com/a/18916786/3530898 引用的复合写入器示例

    【讨论】:

    • 好的阿米特,我会试试的。但是为什么我在springboot启动时会出现下面的错误。 cName 在另一个对象中。为什么它在 Pojo.java 中引用 bean 类 [Pojo] 的无效属性“cName”:Bean 属性“cName”不可写或具有无效的 setter 方法。 setter的参数类型和getter的返回类型是否匹配?
    • 我尝试使用 CompositeWriter,但它并没有解决我的问题。基本上是文本文件,如果具有如下值,01|fairfax|33860|Virginia。 01 和 fairfax 应该去 table a 和 33860|Virginia 应该去 tableb。我该如何为这种情况构建作家和读者。
    • 在table1和tableb之间输入数据的逻辑是什么,在写入器中应用该逻辑,如果逻辑1为真那么tablea和logic2为真那么tableb
    • gist.github.com/gnosis23/11258003 有很好的逻辑,可以过滤数据,然后将其委托给正确的作者
    • 我通过查看数据就知道了,但是在代码中阅读或编写代码时,我怎样才能找到中断的位置并转到下一个作者。能否提供样品
    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2018-10-04
    • 2012-10-19
    • 1970-01-01
    • 2018-11-30
    相关资源
    最近更新 更多