Spring integration Spring集成:从出站通道适配器返回非空应答

Spring integration Spring集成:从出站通道适配器返回非空应答,spring-integration,Spring Integration,我有一个带有两个出站通道适配器的通道,它们都返回一个包含其活动结果的消息对象。 这在升级到SI 2.1之前一直有效。现在,我收到一条错误消息,因为一个方法返回一个非空值 下面是一个代码示例: <integration:gateway id="notificationGateway" default-request-channel="notificationRecordsFetcher" default-r

我有一个带有两个出站通道适配器的通道,它们都返回一个包含其活动结果的消息对象。 这在升级到SI 2.1之前一直有效。现在,我收到一条错误消息,因为一个方法返回一个非空值

下面是一个代码示例:

<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的第二个适配器,后者依次读取由第一个适配器更新的消息负载并对其执行操作。 现在,由于引入了新的限制,我无法在适配器之间传递信息。
有什么办法克服这个问题吗?

你从哪个版本迁移过来的


将s更改为s,将通道更改为输入通道,并将输出通道设置为nullChannel。

考虑过这样做,但供应商SecuredFileTransfer适配器必须处理SFTP提交,因此需要保留适配器,可能是SI 2.1中引入的SFTP适配器或网关,根据提交的结果,数据库条目将被删除。另外,我认为这是我们移植的SI的1.0版本