项目中使用Java链接Mysql。用的是连接池。涉及到从本地向数据库服务器传数据。这几天由于我数据库服务器出问题,造成本地程序受到影响,也不会报错,就是很慢。我的疑问是java链接MySQL数据库,它会请求多长时间,在那边无应答的情况下。
请问有没有一种方法,可以设置连接数据库的时间,比如说5秒钟没有取得connection,程序就抛异常。

解决方案 »

  1.   

    connectTimeout可以在你的连接字符串中加入这个属性。
    连接池不熟悉。如果是直接连接。则可以jdbc:mysql://[host:port],[host:port].../[database] [?connectTimeout=5
      

  2.   

    连接池配置maxwait参数,具体你要说明是什么池
      

  3.   

        Class.forName("org.gjt.mm.mysql.Driver");
            String url="jdbc:mysql://localhost:3306/mqney?user=root&password=123456";
            conn=DriverManager.getConnection(url);
      

  4.   

    String url="jdbc:mysql://localhost:3306/mqney?user=root&password=123456&connectTimeout=5";
      

  5.   

    第一,LZ你的JDBC太旧了,现在都用com.mysql.jdbc.Driver第二,你的需求到底是
    1. 5秒钟没有得到结果(JDBC url中的connectionTimeout),还是
    2. 连接池满,5秒钟没有得到需要的连接(连接池配置中的maxwait或类似参数,取决于具体的连接池)
      

  6.   

    刚查了一下,com.mysql.jdbc.Driver与org.gjt.mm.mysql.Driver的区别不是版本新旧的标准,我是用的是mysql-connector-java-5.0.3-bin.jar,解压缩后可以看到org.gjt.mm.mysql.Driver路径下只有一个类,它是为了兼容用的,实际上调用了com.mysql.jdbc.Driver路径的类。所以在jar包最新的情况下,两个再功能上是相通的,习惯上不同而已。