【问题标题】:reply timeout in spring integration tcp gatewaySpring集成tcp网关中的回复超时
【发布时间】:2016-06-10 14:44:15
【问题描述】:

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 秒内响应。

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

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

【问题讨论】:

    标签: tcp spring-integration


    【解决方案1】:

    可以通过crLfServer idAbstractConnectionFactory bean 上更改so-timeout

    您可以使用 gatewayCrLf idTcpInboundGateway bean 上更改 reply-timeout

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

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

    【讨论】:

    • 这很有趣。我寻找可用于设置回复超时的 gatewayCrLf Mbean。不幸的是,gatewyaCrLf 没有回复超时属性。我使用 是过滤属性吗?
    • MBean?不,你是在混淆顾虑。我们在春天来到这里,所以你必须从 app ctx 中 getBean(),或者只是 @Autowired 他们。我们这里根本不讨论 JMX。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2017-04-12
    • 2015-03-14
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多