Можем ли мы использовать хранимую процедуру в Spring Batch ItemProcessor? - PullRequest
0 голосов
/ 16 ноября 2011

Я провел поиск, но не смог найти образец / пример.

У меня есть требование, чтобы некоторые данные из одной таблицы (входные данные) читались, обрабатывались итератором (бизнес-логика), который должен вызывать несколько хранимых процедур. Таким образом, один или несколько объектов будут результатом и должны быть вставлены в другую таблицу (вывод).

Есть идеи? ТИА.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

К сожалению, предоставляемая Spring Batch JdbcBatchItemWriter может выполнять только update -стамований.Вам необходимо написать реализацию интерфейса ItemWriter с использованием вспомогательных классов SimpleJdbcCall или GenericStoredProcedure (см. Метод StoredProcedure#execute()).

0 голосов
/ 16 ноября 2011

из официальных документов для весенних партий: ItemProcessors

что если вы хотите вставить бизнес-логику перед записью? Один вариант для написания - использовать составной шаблон: создайте ItemWriter, который содержит другой ItemWriter

тот же пассаж

Однако, если вы хотите «преобразовать» элемент, переданный для писать, прежде чем это на самом деле написано, не так много нужно позвонить напишите себе: вы просто хотите изменить элемент. Для этого сценария Spring Batch предоставляет интерфейс ItemProcessor

imho, это не проблема использовать ItemProcessor не только для простого "преобразования", но и для обогащения, сохранения и т. Д.

для вашего конкретного случая использования упомянутого (ItemWriter) составного шаблона может быть достаточно

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