回复StoredProcOutboundGateway的超时时间

时间:2015-09-17 13:11:25

标签: spring-integration spring-jdbc

我在Spring集成中遇到了StoredProcOutboundGateway的reply-timeout属性问题。我已经阅读了文档,并表示如果是Gateway的直接通道,则回复超时将不起作用。但是在外部集成网关的情况下,即StoredProcOutboundGateway,它说 “当发送到DirectChannel时,调用将发生在发送者的线程中,因此发送操作的失败可能是由下游的其他组件引起的”

根据我的设计,我的StoredProcOutboundGateway回复正在发送到直接频道。在回复时间到期后,StoredProcOutboundGateway会抛出异常吗? 。对于重新创建这种情况下我已经把一个调试点,并等待答复配置的超时时间在StoredProcOutboundGateway.handleRequestMessage方法的第一线,但它并没有抛出的任何异常并返回successsful响应即使配置后的时间。

<int:gateway id="idGateway" service-interface="Gateway"> <int:method name="getStoreProcData" request-channel="store.req.channel" reply-channel="store.reply.channel" /> </int:gateway> <int-jdbc:stored-proc-outbound-gateway stored-procedure-name="GE_PKG.GET_PRC" ignore-column-meta-data="true" reply-timeout="2000" request-channel="store.req.channel" reply-channel="store.reply.channel" is-function="false" ............other cursor config </int-jdbc:stored-proc-outbound-gateway>在此处输入代码 <int:channel id="store.req.channel" /> <int:channel id="store.reply.channel" /> Spring-Integration V4..1.2 DB oracle ojdbc6

1 个答案:

答案 0 :(得分:1)

reply-timeout仅适用于reply-channel可以阻止的情况 - 例如已满的有界QueueChannel

即。 sendreply-channel的暂停时间。

DirectChannel永远不会发生。