У меня есть канал с двумя адаптерами исходящего канала, подключенными к нему, возвращая объект Message, содержащий результаты их действий. Это работало до тех пор, пока не было произведено обновление до SI 2.1. Теперь я получаю сообщения об ошибках из-за того, что метод возвращает ненулевое значение.Spring Integration: возвращает непустой ответ от адаптера исходящего канала
Вот пример кода:
<integration:gateway id="notificationGateway"
default-request-channel="notificationRecordsFetcher"
default-reply-channel="notifySupplier"
service-interface="com.supplier.NotificationGateway"/>
<!-- Submit the file to the supplier-->
<integration:channel id="notifySupplier"/>
<!-- Handle the secured transfer (first) -->
<integration:outbound-channel-adapter order="1" channel="notifySupplier" id="SupplierSecuredFileTransfer" ref="SubmitToSupplier" method="submit" />
<!-- Delete the notification records marked as successful (second) -->
<integration:outbound-channel-adapter order="2" channel="notifySupplier" id="deleteNotificationRecords" ref="databaseService" method="removeNotificationEntries" />
адаптер определяется как «SupplierSecuredFileTransfer» принимает кучу файлов XML, каждый из них представляет собой запись базы данных и отправить их с помощью SFTP в папку назначения. Затем он отмечает записи, которые были успешно доставлены, и отправляет их в ответ на второй адаптер, идентифицированный как «deleteNotificationRecords», который, в свою очередь, считывает полезную нагрузку сообщения, обновленную первой и выполняет на ней. С момента введения нового ограничения я не могу передавать информацию между адаптерами. Любые идеи, как преодолеть это?
Мысль об этом, но адаптер «SupplierSecuredFileTransfer» должен обрабатывать подачу SFTP, поэтому ему необходимо будет оставаться адаптером (возможно, адаптером SFTP или шлюзом, введенным в SI 2.1), и на основе результатов записей базы данных представления будет должны быть удалены. –
Также я думаю, что это версия 1.0 SI, с которой мы перенесли –