Java 延迟器和拆分器,不连续处理消息

Java 延迟器和拆分器,不连续处理消息,java,spring-integration,Java,Spring Integration,我的要求是以串行方式逐个处理(调用Webservice)消息列表。如果第一条消息成功,则仅处理第二条消息,依此类推 我在这里使用拆分器来拆分消息。在Splitter内部,我使用了Delayer(不是persistence) 问题是,一旦第一条消息进入延迟器,列表中的第二条消息就开始处理,而不等待第一条消息完成 我相信这是因为延迟器不会阻塞线程 有没有办法通过使用拆分器和延迟器来实现这一功能?延迟器就是这样设计的;它将消息安排在将来某个时间进行处理。如果您只是想降低处理拆分的速度;只需添加一个PO

我的要求是以串行方式逐个处理(调用Webservice)消息列表。如果第一条消息成功,则仅处理第二条消息,依此类推

我在这里使用拆分器来拆分消息。在Splitter内部,我使用了Delayer(不是persistence)

问题是,一旦第一条消息进入延迟器,列表中的第二条消息就开始处理,而不等待第一条消息完成

我相信这是因为延迟器不会阻塞线程


有没有办法通过使用拆分器和延迟器来实现这一功能?

延迟器就是这样设计的;它将消息安排在将来某个时间进行处理。如果您只是想降低处理拆分的速度;只需添加一个POJO服务(由服务激活器调用),该服务具有
Thread.sleep(…)
,并返回输入消息

public Message<?> sleeper(Message<?>) throws InterruptedException {
    Thread.sleep(1000);
}
公共消息睡眠者(消息)抛出InterruptedException{
睡眠(1000);
}

您应该解释一下为什么在allI使用delayer,我必须等待某个事件完成,然后只调用webservice。我正在使用delayer,以便检查数据库中的事件完成情况。一旦事件完成,我调用webservice。