Spring Batch: чтение из текстовых файлов и возврат всех строк в виде одной строки в процессор - PullRequest
0 голосов
/ 05 февраля 2020


Я пытаюсь читать текст из файлов в Spring Batch, но мне нужно, чтобы все строки в виде одной строки достигали .processor, а не строка за строкой. Я прочитал о .setRecordSeparatorPolicy в FlatFileItemReader. Есть ли другой способ добиться этого? Может быть, другой вид читателя или что-то?

Любая помощь будет очень признательна

public ItemStreamReader<String> stringReader() throws IOException {
    Resources[] resources.. // load files here
    MultiResourceItemReader<String> reader = new MultiResourceItemReader<String>();
    reader.setResources(resources);
    reader.setDelegate(flatFileItemReader()); //sets FlatFileIteamReader

    return reader;
}

@Bean
public TaskletStep managerStep() throws Exception {
    return managerStepBuilderFactory.get("managerStep")
            .<String, String>chunk(6)
            .reader(stringReader())
            .processor(myProcessor()) //all lines as 1 String here per File
            .writer(doSomething())
            .build();
}

1 Ответ

0 голосов
/ 06 февраля 2020

Модель обработки чанка разработана для конкретных вариантов использования. Если у вас есть один элемент, я не вижу никакой дополнительной пользы от использования чан-ориентированного шага. Простой тасклет более уместен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...