我的程序中设定了 Thread.sleep(1000)  
怎么程序过了16秒又重新执行啦   会出现好多个"8833 connect false"
是怎么回事呀,请说明一下,谢谢
private void init8833DS() {
        DS8833 = new BasicDataSource();
        DS8833.setDriverClassName("oracle.jdbc.driver.OracleDriver");
        DS8833.setUsername(dbMessages.getString("8833.username"));
        DS8833.setPassword(dbMessages.getString("8833.password"));
        DS8833.setUrl(dbMessages.getString("8833.url"));        Connection con = null;        while(true) {
            try {
                con=DS8833.getConnection();
                Statement stmt = con.createStatement();
                ResultSet rs = stmt.executeQuery("select sysdate from dual");
                //测试连接。未报异常,连接正常
                rs.close();
                stmt.close();
                System.out.println("8833 connect successfully");
              break;            } catch (SQLException e1) {
                 //e1.printStackTrace();
                  System.out.println("8833 connect false");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex1) {
                }
            } finally {
                if (con != null)
                    try {
                        con.close();
                    } catch (SQLException ex) {
                    }
            }
        }    }

解决方案 »

  1.   

    没看出 你的sleep和connect false 有啥区别
      

  2.   

    程序中我在 con=DS8833.getConnection();  方法中设置了一个错误的服务器IP地址,使程序不能正常的通过这个方法运行,~~!程序也就是在这里报错从而进入我设定的
    System.out.println("8833  connect  false");  
     try  {  
              Thread.sleep(1000);  
     }  catch  (InterruptedException  ex1)  {  
    }  
      

  3.   

    当然不会退出呀,你没有退出循环呀
    只有一个退出的可能就是break语句,出错了就不会退出
      

  4.   

    把SQLException打出来看看啊,数据库操作的问题