spring integration tcp gateway中的回复超时

时间:2016-06-10 14:44:15

标签: tcp spring-integration

Spring集成tcp网关可以按如下方式设置:

<!-- Server side -->

<int-ip:tcp-connection-factory id="crLfServer"
    type="server"
    port="${availableServerSocket}"
    single-use="true"
    so-timeout="5000"
    using-nio="false" 
    />

<int-ip:tcp-inbound-gateway id="gatewayCrLf"
    connection-factory="crLfServer"
    request-channel="serverBytes2StringChannel"
    error-channel="errorChannel"
    reply-timeout="10000"/> 

我的TCP服务器工作正常,并在10秒内响应。

有时其他重要的批处理过程会减慢我的服务器处理速度。在此期间,我想动态更改回复超时。

如何在正在运行的服务器中动态更改回复超时?

1 个答案:

答案 0 :(得分:2)

可以通过so-timeout AbstractConnectionFactorycrLfServer bean上更改id

您可以使用reply-timeout TcpInboundGatewaygatewayCrLf bean上更改id

无论如何,您必须确保在这些更改后恢复所有内容。 此外,您的应用程序应确保无法再访问这些组件。否则你最终会出现意想不到的行为。

另一方面,考虑提供其他类似的组件,但仅针对具有所需超时的特定任务。