【问题标题】:Spring batch to save csv files records in Mongo DBSpring批处理在Mongodb中保存csv文件记录
【发布时间】:2020-11-08 17:43:35
【问题描述】:

我正在开发 Spring Batch,它从一个位置从 csv 文件中读取记录并保存到 mongo DB 中。我想读取特定对象类型的记录,但在写入时它应该是不同的对象类型。 就像我正在使用 obj1 读取文件一样,我想将 obj1 设置为 obj2 并保存到 DB。 下面是我的代码。

@Bean
    public Job readCSVFileJob() {
        return jobBuilderFactory
                .get("readCSVFileJob")
                .incrementer(new RunIdIncrementer())
                .start(step())
                .build();
    }

    @Bean
    public Step step() {
        return stepBuilderFactory
                .get("step")
                .<FileObj, FileObj>chunk(5)
                .reader(reader(null))
                .faultTolerant().skipPolicy(fileVerificationSkipper())
                .writer(writer())
                .build();
    }

    @Bean
    public SkipPolicy fileVerificationSkipper() {
        return new FileVerificationSkipper();
    }

    @Bean
    @StepScope
    public FlatFileItemReader<FileObj> reader(@Value("#{jobParameters['fullPathFileName']}") String fullPathFileName) {
        FlatFileItemReader<FileObj> itemReader = new FlatFileItemReader<FileObj>();
        itemReader.setLineMapper(lineMapper());
        itemReader.setLinesToSkip(1);
        try {
            itemReader.setResource(new PathResource(fullPathFileName)); // set resource from a FTP location
        } catch (Exception e) {
            e.printStackTrace();
        }
        return itemReader;
    }

    @Bean
    public LineMapper<FileObj> lineMapper() {
       //code for line mapper this works fine
        return lineMapper;
    }

    @Bean
    public MongoItemWriter<OBJ2> writer() {
       // in this I want to write in mongo DB with OBJ2 something like below
    repository.save(obj2);
        return writer;
    }

【问题讨论】:

    标签: java spring spring-boot spring-batch


    【解决方案1】:

    您需要添加一个ItemProcessor,将obj1 项目转换为obj2。数据转换是ItemProcessor 的典型用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      相关资源
      最近更新 更多