Spring integration 我可以在链中使用延迟器元素吗?
我有以下配置:Spring integration 我可以在链中使用延迟器元素吗?,spring-integration,Spring Integration,我有以下配置: <jms:inbound-gateway request-channel="requestChannel" request-destination="requestQueue" default-reply-destination="replyQueue" connection-factory="connectionFactory"/> <
<jms:inbound-gateway request-channel="requestChannel"
request-destination="requestQueue"
default-reply-destination="replyQueue"
connection-factory="connectionFactory"/>
<chain input-channel="requestChannel">
<transformer ref="xmlTransformer" method="fromXml"/>
<service-activator ref="myService" method="service"/>
<transformer ref="xmlTransformer" method="toXml"/>
<!--<delayer id="replyDelayer" default-delay="1000"/>-->
</chain>
为了调试,我想推迟回复
没有延迟器,配置工作正常。当我添加延迟器时,重播不会到达回复目的地
这是延迟器的错误用法吗?在这种配置下,我没有收到任何xsd警告
提前谢谢。刚刚测试了这个案例,对我来说效果很好 需要考虑的几点:
默认情况下使用
。然而,我看到您的receiveTimeout=5000
仅延迟
。所以,应该足够了1000
- 如果您的延迟器使用persistent
,您应该使用:MessageStore
<int:header-enricher> <int:header-channels-to-string /> </int:header-enricher>
将
头也存储到数据库中。并从replyChannel
延迟任务中恢复它
否则,请分享并跟踪此事。我没有为延迟者配置任何messageStore。在delayer元素中,我只有两个属性:defaultdelay和id。可能这个问题没有在最新版本中重现。我使用spring集成2.2.41。最好至少升级到最新的'3.0.6
。2.尝试执行相同的操作,但当`超出