Spring Batch: перебрать перечисление и передать его читателю - PullRequest
0 голосов
/ 23 февраля 2019

В нашем домене у нас есть список городов, в которых работает наш сервис.Используя Spring batch, я бы хотел вызвать веб-сервис REST с параметром названий городов.

Может быть, я отказался от использования библиотеки, но я имею в виду нечто подобное:

@Bean
public Step step1(ItemWriter writer) {
    return stepBuilderFactory.get("step1")
            .chunk(InstalledCities.values())
            .reader(reader())
            .processor(processor())
            .writer(writer)
            .build();
@Bean
public ItemReader<BikerCashOutDto> reader(InstalledCities city) {
    theSrevice.call(city);
}

1 Ответ

0 голосов
/ 25 февраля 2019

Если я правильно понимаю, вам нужно перебрать список городов и для каждого города вызвать службу отдыха.Если это правильно, вот как вы можете продолжить:

  • Создание считывателя предметов, который возвращает города один за другим
  • Создание обработчика предметов, который вызывает конечную точку отдыха для каждого города

Например:

@Bean
public ItemReader<City> reader(List<City> cities) {
    return new ListItemReader<>(cities); // or get cities from InstalledCities
}

@Bean
public ItemProcessor<City, City> itemProcessor(TheSrevice theSrevice) {
    return new ItemProcessor<City, City>() {
        @Override
        public City process(City city) throws Exception {
            Result result = theSrevice.call(city);
            // use service result if any or enrich city item
            return city;
        }
    };
}

Надеюсь, это поможет.

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