Мне нужно создать пакетное задание, в котором мне нужно получить данные из 1 БД и после обработки вывести эти данные в другую БД, где автоматически сгенерированный идентификатор будет назначен постоянным данным. Мне нужно отправить эти данные вместе с сгенерированным идентификатором в очередь утешения.
Reader (DB1) - data1 -> Процессор - - data2 -> Writer (DB2) - data3 -> Writer (Solace Publisher)
Я использую spring boot-2.2.5.RELEASE и spring-boot-starter-batch.
Я создал задание, состоящее из 1 шага, который считывает данные из DB1 и записывает данные в DB2 через RepositoryItemReader и RepositoryItemWriter соответственно. Это работает нормально.
Теперь следующая задача - отправить сохраненные данные с сгенерированным идентификатором в поток утешения (используя spring-cloud-starter-stream-solace).
У меня есть следующие вопросы. Пожалуйста, помогите, так как я совсем новичок в весенней партии
Как я могу получить полную запись после ее сохранения в DB2 на основе какого-либо параметра? Нужно ли мне писать свой собственный RepositoryItemWriter, имеющий контекст StepExecution, или я могу каким-то образом использовать существующий RepositoryItemWriter.
Как только я получил запись, мне нужно использовать поток утешения, и там у меня есть метод publi sh, который ожидает аргумент ( запись) будет опубликовано. Я снова думаю, что мне нужно написать свой собственный Item Writer, и я мог бы использовать запись, переданную из вышеупомянутого repositoryItemWriter StepExecutionContext, или я должен запросить непосредственно в DB2 отсюда на основе какого-либо параметра?
Любой из приведенных выше случаев I нужно использовать контекст stepexecution, но могу ли я использовать доступный RepositoryItemWriter или мне нужно написать свой собственный?
Есть ли какая-либо другая концепция, которая пригодится в этом удобстве вместо использования вышеуказанных подходов?