看起来JDBC Spec没有详细说明数据源连接池中alive or idle connections
的准确含义。它只是具体实现吗? DBCP2或HikariCP如何实际检查连接状态?JDBC上的活动或空闲连接
没有活动事务的连接会在下面标记为空闲吗?
// assuming auto commit disabled already
Connection connection = dataSource.getConnection(); // idle?
/* issue some JDBC SQL statements */ // active?
connection.commit(); /* or rollback */ //idle again?
JDBC不会谈论空闲,因为空闲与JDBC无关。然而,通常(但并非总是),空闲用于引用池中的连接(这意味着它们未被检出)。 –