데이터베이스에서 읽고 csv에 쓸 봄 배치 작업을 작성했습니다.ItemWriter에서 행을 출력하지 않습니다.
작업은 작동하지만 불행히도 내 출력 CSV 파일에는 도메인 객체의 toString 메소드에있는 내용이 저장됩니다.
빈의 모든 값이 쉼표로 구분되어 있습니다. 그래서 아래 ItemWriter 아래에 DelimitedLineAggregator를 넣습니다.
하지만 DelimitedLineAggregator에 대한 제 이해가 잘못되었다고 생각합니다. LineAggregator가 출력에 사용되었지만 입력 데이터에 사용 된 것 같습니다.
@Bean
@StepScope
public ItemWriter<MasterList> masterListFileWriter(
FileSystemResource masterListFile,
@Value("#{stepExecutionContext}")Map<String, Object> executionContext) {
FlatFileItemWriter<MasterList> writer = new FlatFileItemWriter<>();
writer.setResource(masterListFile);
DelimitedLineAggregator<MasterList> lineAggregator = new DelimitedLineAggregator<>();
lineAggregator.setDelimiter(";");
writer.setLineAggregator(lineAggregator);
writer.setForceSync(true);
writer.open(new ExecutionContext(executionContext));
return writer;
}
두 가지.
내 MasterList 도메인 객체의 모든 값을 쉼표로 구분하여 출력하려면 어떻게해야합니까? toString 메서드 만 변경하고 있습니까?
또한 누군가가 작가의 LineAggregator 사용을 명확히 할 수 있습니까? 이제는 리더에서 오는 행을 집계하는 방법을 지정하는 데 사용되는 것으로 생각됩니다. 그게 맞습니까? 사전