У меня есть приложение на базе Spring Integration. вкратце схема такая:
|-> activator
gateWay -> splitter -> transformer -> router |-> ...
|-> activator
Например, служба получает некоторый массив json, разбивает его на объекты json, а затем преобразует их в какой-либо объект java. При преобразовании он может вызвать некоторые ошибки проверки.
Справочник по интеграции Spring говорит:
Разделитель — это еще один тип конечной точки сообщения, в обязанности которого входит прием сообщения из своего входного канала, разделение этого сообщения на несколько сообщений и последующая отправка каждого из них в выходной канал.
Поэтому я ожидаю, что если я отправлю массив json с одним недопустимым объектом, который выдает ошибку проверки, все остальные сообщения будут обрабатываться нормально, и только один недопустимый объект будет отправлен в канал ошибки. Но это не так. Когда возникает первое исключение проверки, все остальные сообщения не обрабатываются.
например: ["correct", "correct", "invalid"] -->
2 сообщения будут обработаны, все в порядке. ["invalid", "correct", "correct"] --> 0
сообщения будут обработаны.
Итак, как обрабатывать сообщения после разделения, даже если будут ошибки?
Спасибо