spring集成tcp网关中的应答超时

spring集成tcp网关中的应答超时,tcp,spring-integration,Tcp,Spring Integration,Spring integration tcp网关的设置如下: <!-- Server side --> <int-ip:tcp-connection-factory id="crLfServer" type="server" port="${availableServerSocket}" single-use="true" so-timeout="5000" using-nio="false" /> <int-i

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

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


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

一个
以便可以通过
crLfServer
id
AbstractConnectionFactory
bean上更改超时时间

reply timeout
您可以使用
TcpInboundGateway
bean的
gatewayCrLf
id
对其进行更改

无论如何,您必须确保在这些更改之后恢复所有内容。 另外,您的应用程序应该确保没有其他东西可以访问这些组件。否则你会有意想不到的行为


另一方面,考虑提供其他类似的组件,但只是为了这个特定任务,需要超时。

这很有意思。我寻找gatewayCrLf Mbean,它可以用来设置回复超时。不幸的是,GatewayAcrlf没有回复超时的属性。我使用的是过滤属性吗?MBean?不,你是在混淆视听。我们是春天来的,所以你必须从app ctx下载
getBean()
,或者只需
@Autowired
就可以了。我们这里根本不谈论JMX。