有人使用具有超时属性的Spring recipient-list-router吗?
{{1}}
超时: timeout属性指定将消息发送到目标消息通道时要等待的最长时间(以毫秒为单位)。默认情况下,发送操作将无限期阻止。
我想知道在进入下一个频道之前等待需要多长时间。
答案 0 :(得分:2)
现在听起来像是:
<xsd:attribute name="timeout" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Specify the maximum amount of time in milliseconds to wait
when sending Messages to the target MessageChannels if blocking
is possible (e.g. a bounded queue channel that is currently full).
By default the send will block indefinitely.
DEPRECATED in favor of 'send-timeout' for consistency with other elements.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
注意bounded queue channel
短语。因此,仅当您的目标渠道受到MessagingTemplate
尺寸的限制时,才能通过QueueChannel
应用此功能。
因此,如果您的频道为DirectChannel
,则无法等待。仅仅因为AbstractMessageRouter
是一个简单的loop
逻辑而send
,因此处理过程是在同一个线程上执行的。