Author: reschke
Date: Thu Jul 14 13:15:08 2016
New Revision: 1752659

URL: http://svn.apache.org/viewvc?rev=1752659&view=rev
Log:
OAK-4477: RDBDatasourceFactory - allow interceptor config for Tomcat JDBC pool 
and use defaults similar to Sling datasource

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java?rev=1752659&r1=1752658&r2=1752659&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
 Thu Jul 14 13:15:08 2016
@@ -77,6 +77,13 @@ public class RDBDataSourceFactory {
                 dsclazz.getMethod("setUsername", String.class).invoke(ds, 
username);
                 dsclazz.getMethod("setPassword", String.class).invoke(ds, 
passwd);
                 dsclazz.getMethod("setUrl", String.class).invoke(ds, url);
+                // SHOULD also contain StatementCache, but see OAK-4559 
+                String interceptors = System.getProperty(
+                        
"org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory.jdbcInterceptors",
+                        "SlowQueryReport(threshold=10000);ConnectionState");
+                if (!interceptors.isEmpty()) {
+                    dsclazz.getMethod("setJdbcInterceptors", 
String.class).invoke(ds, interceptors);
+                }
                 return new CloseableDataSource(ds);
             } catch (Exception ex) {
                 String message = "trying to create datasource " + classname;


Reply via email to