追溯 MySQL Statement Cancellation Timer (2)

追溯 MySQL Statement Cancellation Timer

设置了 queryTimeout 会使 jdbc driver 在每次查询数据库时新建 CancelTask(timeoutTask对象) 线程来处理超时, 并使用 CancelTimer(在 ConnectionImpl类中) 来进行调度;
如果 SQL 查询超时了, 则会在 timeoutTask 的 run 方法里调用 com.mysql.jdbc.ConnectionImpl#realClose 来释放 CancelTimer;
如果 Connection 正常关闭 close 时, 也会调用 com.mysql.jdbc.ConnectionImpl#realClose 来释放 CancelTimer;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpssgx.html