Index: jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java (revision 8393c6daea536b8aca22010c135f7f53515ce74a) +++ jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java (revision ) @@ -331,7 +331,7 @@ } if (instance != null) { if (instance.jdbcCompliant()) { - // JCR-3445 At the moment the PostgreSQL isn't compliant because it doesn't implement this method... + // JCR-3445 At the moment the PostgreSQL isn't compliant because it doesn't implement this method... ds.setValidationQueryTimeout(3); } } @@ -348,30 +348,30 @@ ds.setMinEvictableIdleTimeMillis(60000); // 1 Minute ds.setMaxActive(-1); // unlimited ds.setMaxIdle(GenericObjectPool.DEFAULT_MAX_IDLE + 10); - ds.setValidationQuery(guessValidationQuery(url)); + ds.setValidationQuery(guessValidationQuery(driverClass.getName())); ds.setAccessToUnderlyingConnectionAllowed(true); ds.setPoolPreparedStatements(true); ds.setMaxOpenPreparedStatements(-1); // unlimited return ds; } - private String guessValidationQuery(String url) { - if (url.contains("derby")) { + private String guessValidationQuery(String driverName) { + if (driverName.contains("derby")) { return "values(1)"; - } else if (url.contains("mysql")) { + } else if (driverName.contains("mysql")) { return "select 1"; - } else if (url.contains("sqlserver") || url.contains("jtds")) { + } else if (driverName.contains("sqlserver") || driverName.contains("jtds")) { return "select 1"; - } else if (url.contains("oracle")) { + } else if (driverName.contains("oracle")) { return "select 'validationQuery' from dual"; - } else if (url.contains("postgresql")) { + } else if (driverName.contains("postgresql")) { return "select 1"; - } else if (url.contains("h2")) { + } else if (driverName.contains("h2")) { return "select 1"; - } else if (url.contains("db2")) { + } else if (driverName.contains("db2")) { return "values(1)"; } - log.warn("Failed to guess validation query for URL " + url); + log.warn("Failed to guess validation query for URL " + driverName); return null; } }