永发信息网

java中DriverManager.getConnection速度慢的问题

答案:2  悬赏:30  手机版
解决时间 2021-02-02 23:24
  • 提问者网友:火车头
  • 2021-02-02 19:44
我在写测试数据库方法的时候,发现如果抛出的异常是The Network Adapter could not establish the connection的话,时间非常长,我这边要20秒以上才抛出此异常。
代码如下:
try {
Class.forName("oracle.jdbc.OracleDriver");

System.out.println("开始测试连接数据库:"+"jdbc:oracle:thin:@"+ip+":"+port+":"+sid);
System.out.println(df.format(new Date()));

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@"+ip+":"+port+":"+sid,user,password);

con.close();
con = null;

输出结果:
开始测试连接数据库:jdbc:oracle:thin:@10.192.0.189:1521:headdb
2014-04-16 10:50:42
java.sql.SQLException: The Network Adapter could not establish the connection
2014-04-16 10:51:03
结束测试10.192.0.189

请问如何缩短这中间的时间?
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-02-02 20:13
DriverManager类的
setLoginTimeout(int seconds)

设置驱动程序试图连接到某一数据库时将等待的最长时间,以秒为单位。
全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-02-02 20:24
服务器设置了 timeout 参数 这个问题比较麻烦的。 连接池有个测试并重新连接的参数,不过你的这种不适合。 你最简单的方法,就是每次使用的时候,获得链接,用完了马上关闭,下次用重新连接。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯