arviarya..
7
JBoss提供了两种验证连接的方法: - 基于Ping的AND - 基于查询
您可以根据要求使用.这是根据数据源配置文件中定义的持续时间由单独的线程调度的.
true1
有时候,如果你没有在Jboss上使用正确的oracle驱动程序,你可能会得到分类广播或相关的错误,并且该连接可能会从连接池中退出.您可以尝试通过实现org.jboss.resource.adapter.jdbc.ValidConnectionChecker接口来创建自己的ConnectionValidator类.此接口仅提供单个方法' isValidConnection()',并期望'NULL'作为有效连接的回报.
例如:
public class OracleValidConnectionChecker implements ValidConnectionChecker, Serializable {
private Method ping;
// The timeout (apparently the timeout is ignored?)
private static Object[] params = new Object[] { new Integer(5000) };
public SQLException isValidConnection(Connection c) {
try {
Integer status = (Integer) ping.invoke(c, params);
if (status.intValue() < 0) {
return new SQLException("pingDatabase failed status=" + status);
}
}
catch (Exception e) {
log.warn("Unexpected error in pingDatabase", e);
}
// OK
return null;
}
}