第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Spring Batch ItemReader 在第一行獲取 NullPointer

Spring Batch ItemReader 在第一行獲取 NullPointer

不負(fù)相思意 2023-03-09 11:19:44
當(dāng)我嘗試讀取我的 csv 文件時(shí),我遇到了 Spring batch 的這個(gè)問題。我必須閱讀具有如下結(jié)構(gòu)的CSV :valueHeader;valueHeader;valueHeader;valueHeader;valueHeader;valueHeaderconventValue;conventValue;conventValue;conventValue;conventValueconventValue;conventValue;conventValue;conventValue;conventValueconventValue;conventValue;conventValue;conventValue;conventValuevalueFooter;valueFooter;valueFooter;valueFooter;valueFooter;valueFooter我有一個(gè)MultiResourceItemReader,它委托一個(gè)String 類型的FlatFileItemReader,以便輕松地將此行映射到我在之后執(zhí)行的自定義項(xiàng)處理器中的自定義 DTO。在我的 Tasklet 中,我像這樣注入了我的 MultiResourceItemReader bean:@Autowired    private MultiResourceItemReader<String> resourceItemReader;然后我這樣稱呼它(設(shè)置資源和上下文):    resourceItemReader.setStrict(Boolean.FALSE);    resourceItemReader.setResources(resources);    resourceItemReader.open(context.getStepContext().getStepExecution().getExecutionContext());    String currentContent = resourceItemReader.read();    while(currentContent != null) {        linesReaded.add(currentContent);        currentContent = resourceItemReader.read();    }But I am getting a **NullPointerException** in the first Line and I don't know why:20190705 19:53:30.041 INFO   com.mycomp.mycustomp.tasklet.MyCustomTasklet [[ # ]] - [MyCustomTasklet:EXECUTE]20190705 19:53:41.560 ERROR  org.springframework.batch.core.step.AbstractStep [[ # ]] - Encountered an error executing step processRebateASLIStep in job MyProyectJob
查看完整描述

1 回答

?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

您沒有在您的LineMapper. 這是添加一個(gè)的方法:


    reader.setLineMapper(new DefaultLineMapper<String>() {

        {

            //Setea los valores en la clase indicada

            setFieldSetMapper(new FieldSetMapper<String>() {


                @Override

                public String mapFieldSet(FieldSet fieldSet) throws BindException {

                    String[] values = fieldSet.getValues();

                    return String.join(";", values);

                }


            });


            setLineTokenizer(new DelimitedLineTokenizer(";"));


        }

    });

FlatFileItemReaderBuilder由于其流暢的 API,我建議使用 which更直觀。這是一個(gè)例子:


@Bean

public FlatFileItemReader<Pojo> flatFileItemReader() {

    return new FlatFileItemReaderBuilder<Pojo>()

            .name("itemReader")

            .resource(new FileSystemResource("/path/to/flat/file"))

            .targetType(Pojo.class)

            .delimited()

            .delimiter(";")

            .names("column1", "column2")

            .build();

}


查看完整回答
反對 回復(fù) 2023-03-09
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號