最终可能会在为JPA EntityManager提供服务的连接池中建立过时的连接。在使用这样的连接时,抛出[generic]异常,但是什么是可移植的(非特定于供应商的)方式来确定连接是否陈旧(因此是否应该重新连接)?
我正在寻找的是相当于JDBC Connection.isValid()方法。
由于
答案 0 :(得分:0)
如果您正在使用EclipseLink,使用EclipseLink的连接池,它将自动检测并重新连接通信故障时的死连接。
如果您使用的是DataSource,那么您确实需要在DataSource中启用连接才能使用它。否则你无法从DataSource的池中驱逐连接,你可以尝试获得另一个连接,但是如果DataSource不知道连接已经死亡,它可能会让你或其他线程返回死连接。