Spring集成 - recipient-list-router超时

时间:2016-04-12 21:39:40

标签: spring spring-integration

有人使用具有超时属性的Spring recipient-list-router吗?

{{1}}

超时: timeout属性指定将消息发送到目标消息通道时要等待的最长时间(以毫秒为单位)。默认情况下,发送操作将无限期阻止。

我想知道在进入下一个频道之前等待需要多长时间。

1 个答案:

答案 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,因此处理过程是在同一个线程上执行的。