如何测试丢弃的JAVA数据库连接
我有一个连接池-如何测试丢弃的JAVA数据库连接,java,sql,sql-server,connection-pooling,Java,Sql,Sql Server,Connection Pooling,我有一个连接池- Class jdbcClass = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Driver jdbcDriver = (Driver)jdbcClass.newInstance(); DriverManager.registerDriver(jdbcDriver); pool = new ConnectionPool("pool",5,10,30,180,"jdbc:sqlserver://se
Class jdbcClass = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Driver jdbcDriver = (Driver)jdbcClass.newInstance();
DriverManager.registerDriver(jdbcDriver);
pool = new ConnectionPool("pool",5,10,30,180,"jdbc:sqlserver://serverip", "login", "password");
我通过电话联系
pool.getConnection(500);
我遇到的问题是,如果与服务器的网络连接丢失,应用程序将挂起。提供给的500毫秒超时实际上并没有超时,如果没有网络连接,我的应用程序就会挂起
检查连接是否丢失或连接是否超时的最佳方法是什么?如果500毫秒后没有连接,我希望它失败并返回null你是说getConnection(500)成功了,但随后连接丢失了,还是getConnection(500)再也没有返回?如果你得到的是连接对象,然后在事务之间连接丢失了,请尝试显示代码的其余部分。然后,您可以在每次执行事务时尝试使用conn.isValid()。如果链接丢失,则getConnection(500)永远不会返回。