如何解决使用JDBC进行连接重试
| 我正在使用JDBC连接到数据库。由于网络速度很慢,在手动重试2或3次后,我可以获得连接。如果连接失败,是否可以自动重试连接?我正在使用SQLServer 2008数据库。 谢谢解决方法
像样的连接池已经可以进行配置,例如BoneCP。大多数甚至默认情况下也会这样做。如果您不使用连接池,而仅使用基本的“ 0”方法,那么只要“ 2”为“ 3”,就必须在“ 1”循环中重新执行它。
这是一个基本的启动示例:
Connection connection = null;
while (connection == null) {
try {
connection = DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
logger.info(\"Connecting failed,retrying...\");
}
}
return connection;
当然,这可以通过设置较长的重试次数和设置最大重试次数等来进一步优化。
,在这里,它重试连接3次的代码,您也可以更改cont而不是3,可以将其更改为任意次数(5,10等)
Connection connection = null;
while (connection == null && count<3){
try {
String Connection=\"jdbc:sqlserver://\"+serverip+\';\'+\"database=\"+dbName+\';\'+\"user=\" +Username+\';\'+\"password=\" +Password;
Class.forName(classname);
connection = DriverManager.getConnection(Connection);
}catch (SQLException e){
count++;
System.err.println(\"Connecting failed,retrying...\");
}
}
count=0;
return connection;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。