重试? select ? insert/delete/update ? 执行类似语句会重试吗?具体实现代码在哪?贴一下~
还是wait住,直到timeout?
原提问者GitHub用户gMan1990
select/insert/delete/update语句不会自动重试。如果语句执行失败,一般不会自动重试,需要程序代码进行处理。
主要的失败原因包括:
网络问题,连接断开。
数据库宕机。
语句执行时间过长,超时。
这种失败通常需要在程序代码中进行处理:
捕获异常,判断是否需要重试。
等待一定时间后进行重试。
重试若干次后才放弃。
Druid连接池的具体实现代码位于com.alibaba.druid.pool.DruidDataSource类中。在执行SQL操作时,Druid会将请求传递给java.sql.Connection对象进行处理。如果在执行过程中发生异常,Druid连接池会将异常直接抛出。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。