Spring业务超时时刻或许存在的错误认识ITeye - 千亿集团

Spring业务超时时刻或许存在的错误认识ITeye

2019-01-11 22:09:09 | 作者: 潇晗 | 标签: 超时,业务,时刻 | 浏览: 1792

其间其在stmt.setQueryTimeout(holder.getTimeToLiveInSeconds());中会调用getTimeToLiveInSeconds,此刻就会查看业务是否超时;

 

 

然后在JdbcTemplate中,履行sql之前,会调用其applyStatementSettings:其会调用DataSourceUtils.applyTimeout(stmt, getDataSource(), getQueryTimeout());设置超时时刻;详细能够看其源码;

 

到此咱们知道了在JdbcTemplate拿到Statement之后,履行之前会设置其queryTimeout,详细意思参阅Javadoc:

 

3、定论

Spring业务超时 = 业务开始时到最终一个Statement创立时时刻 + 最终一个Statement的履行时超时时刻(即其queryTimeout)。

 

4、因而

假定业务超时时刻设置为2秒;假定sql履行时刻为1秒;

如下调用是业务不超时的

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章