Jboss EAP 7.3如何修改standalone.xml延长入站请求超时?
JBoss EAP 7.3 解决长耗时REST请求引发的连接重置问题
你的客户端已设置600秒超时,但仍出现java.net.SocketException: Connection reset,原因是JBoss EAP服务器端默认超时配置短于请求处理耗时,导致服务器主动断开连接。需修改standalone.xml中的以下参数:
1. Undertow子系统请求超时
找到<subsystem xmlns="urn:jboss:domain:undertow:11.0">节点下的<server> -> <http-listener>,添加或修改request-timeout参数(单位:毫秒),值需与客户端超时匹配:
<http-listener name="default" socket-binding="http" request-timeout="600000"/>
该参数控制服务器等待请求处理完成的最大时长,超时后会主动断开连接。
2. 异步请求超时(若使用异步处理)
如果REST接口采用异步方式处理,需在Undertow子系统的<servlet-container>节点下设置async-timeout:
<servlet-container name="default"> <async-timeout>600000</async-timeout> <!-- 保留原有配置如jsp-config、websockets等 --> </servlet-container>
3. TCP连接读取超时
在<socket-binding-group>下的<socket-binding name="http">节点添加read-timeout,防止TCP层因长时间无数据交互断开连接:
<socket-binding name="http" port="${jboss.http.port:8080}" read-timeout="600000"/>
注意事项
- 修改完成后必须重启JBoss EAP才能使配置生效
- 确保所有超时参数值与客户端设置的600秒(10分钟)保持一致,避免两端超时时间不匹配导致的连接中断
内容的提问来源于stack exchange,提问作者DB2fan
相关产品推荐
相关产品推荐

