【问题标题】:Spring Integration tcp/ip connection delaySpring 集成 tcp/ip 连接延迟
【发布时间】:2018-11-28 09:36:16
【问题描述】:

我们正在使用 Spring 集成 4.1.3。

有时需要超过 5 秒才能从特定服务器请求连接。

step1 和 step2 之间发生了什么?

为什么会延迟?

客户日志

step1 :▶ DEBUG 11.28 18:14:33.237  [ajp-bio-8109-exec-3] org.springframework.integration.ip.tcp.connection.TcpNetClientConnectionFactory[obtainNewConnection:98] - Opening new socket connection to 10.0.12.111:36401
step2 :▶ DEBUG 11.28 18:14:38.306  [ajp-bio-8109-exec-3] org.springframework.integration.ip.tcp.connection.TcpNetConnection[<init>:138] - New connection 10.0.12.111:36401:2701:561f3524-c421-45ba-9ea5-76a7ddf96430

客户端配置

<int:gateway id="gw-vacct-tcp-sender"
             service-interface="com.mainpay.pay.service.TcpSendVacctGateway"
             default-request-channel="vacct-input"
             default-reply-channel="vacct-reply"
             />

<int-tcp:tcp-connection-factory id="vacct-client"
                                type="client"
                                host="#{springSetting['pay.pg.ngin.vip']}"
                                port="#{springSetting['pay.pg.ngin.vacct.port']}"
                                serializer="TCPJsonSerializer8"
                                deserializer="TCPJsonDeserializer8"
                                single-use="true" 
                                so-timeout="20000"      

/>      

<int:channel id="vacct-input" />

<int-tcp:tcp-outbound-gateway id="vacct-outGateway" 
                              request-channel="vacct-input"
                              reply-channel="vacct-reply" 
                              connection-factory="vacct-client"  
                              reply-timeout="20000"
                              />

<int:channel id="vacct-reply" datatype="java.lang.String" />

【问题讨论】:

  • 这是一个测试服务器,它是免费的。

标签: java spring spring-integration tcp-ip


【解决方案1】:

尝试将lookup-host设置为false;反向主机查找可能存在网络问题。看起来查找失败,因为它是连接 ID 中的 IP 地址。

10.0.12.111:36401:2701:561f3524-c421-45ba-9ea5-76a7ddf96430

the documentation

默认情况下,对入站数据包执行反向 DNS 查找,以将 IP 地址转换为主机名,以便在邮件标头中使用。在未配置 DNS 的环境中,这可能会导致连接延迟。您可以通过将 lookup-host 属性设置为 false 来覆盖此默认行为。

【讨论】:

  • 连接延迟问题不再出现。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-01-02
  • 2011-03-18
  • 2016-06-18
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多