Связывание нескольких читателей Spring Batch? - PullRequest
0 голосов
/ 09 января 2019

Я новичок в Spring Batch и пишу мост API, который будет работать в независимом приложении Spring Boot. Каждый час он запрашивает информацию у конечной точки REST и передает ее стороннему приложению через POST в форму NetSuite.

Однако я не уверен, как структурировать это с точки зрения читателей, процессоров и / или писателей.

Чтение включает в себя несколько вызовов REST:

  1. Сначала я ПОЛУЧИЛ серию идентификаторов ПОЛЬЗОВАТЕЛЯ (с предоставлением фильтра)
  2. Для каждого идентификатора я ПОЛУЧАЮ соответствующего ПОЛЬЗОВАТЕЛЯ вместе со списком связанных ПУНКТОВ.
  3. Затем я перебираю список ПУНКТОВ и, основываясь на отметке времени, решил включить этот ПУНКТ или нет.
  4. Для каждого выбранного ПУНКТА Я ПОЛУЧАЮ РЕЗЮМЕ (PDF, сгенерированный конечная точка)

Данные для отправки в форму NetSuite - это РЕЗЮМЕ PDF и свойства соответствующего ПОЛЬЗОВАТЕЛЯ. В настоящее время я не могу вносить изменения в REST API.

«Записывать» в NetSuite довольно просто, но я должен выполнить все вышеописанные шаги чтения в одном и том же считывателе или есть какая-то встроенная цепочка, которую можно использовать? Пока у меня есть шаги 1 и 2, закодированные в одном считывателе.

Приветствия

AW

1 Ответ

0 голосов
/ 09 января 2019

Вы можете реализовать шаблон запроса управления . Например, в вашем случае:

  • Считыватель выполняет первый запрос GET и возвращает список идентификаторов.
  • Для каждого элемента (ID) процессор выполняет другие вызовы REST для сбора сведений о пользователе (обогащения элемента) и любой необходимой информации для записи
  • Автор выполняет запрос POST

Для процессора вы можете выполнять все вызовы REST в одном и том же процессоре или разбивать их на отдельные процессоры и связывать их с помощью CompositeItemProcessor.

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

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