You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2015/09/14 15:17:40 UTC

svn commit: r1702942 - in /jackrabbit/oak/trunk: oak-core/pom.xml oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java oak-exercise/pom.xml oak-jcr/pom.xml oak-run/pom.xml

Author: reschke
Date: Mon Sep 14 13:17:39 2015
New Revision: 1702942

URL: http://svn.apache.org/r1702942
Log:
OAK-2986: RDBDataSourceFactory: switch to tomcat datasource implementation (but do not change dependency scope yet)

Modified:
    jackrabbit/oak/trunk/oak-core/pom.xml
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
    jackrabbit/oak/trunk/oak-exercise/pom.xml
    jackrabbit/oak/trunk/oak-jcr/pom.xml
    jackrabbit/oak/trunk/oak-run/pom.xml

Modified: jackrabbit/oak/trunk/oak-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/pom.xml?rev=1702942&r1=1702941&r2=1702942&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-core/pom.xml Mon Sep 14 13:17:39 2015
@@ -278,9 +278,9 @@
     </dependency>
 
     <dependency>
-      <groupId>commons-dbcp</groupId>
-      <artifactId>commons-dbcp</artifactId>
-      <version>1.4</version>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jdbc</artifactId>
+      <version>7.0.64</version>
       <optional>true</optional>
     </dependency>
 

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=1702942&r1=1702941&r2=1702942&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 Mon Sep 14 13:17:39 2015
@@ -16,19 +16,12 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.rdb;
 
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.sql.Connection;
 import java.sql.Driver;
 import java.sql.DriverManager;
 import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.logging.Logger;
 
 import javax.sql.DataSource;
 
-import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.jackrabbit.oak.plugins.document.DocumentStoreException;
 import org.slf4j.LoggerFactory;
 
@@ -65,14 +58,14 @@ public class RDBDataSourceFactory {
         }
 
         try {
-            BasicDataSource bds = new BasicDataSource();
+            org.apache.tomcat.jdbc.pool.DataSource bds = new org.apache.tomcat.jdbc.pool.DataSource();
             LOG.debug("Getting driver for " + url);
             Driver d = DriverManager.getDriver(url);
             bds.setDriverClassName(d.getClass().getName());
             bds.setUsername(username);
             bds.setPassword(passwd);
             bds.setUrl(url);
-            return new CloseableDataSource(bds);
+            return bds;
         } catch (SQLException ex) {
             String message = "trying to obtain driver for " + url;
             LOG.info(message, ex);
@@ -83,77 +76,4 @@ public class RDBDataSourceFactory {
     public static DataSource forJdbcUrl(String url, String username, String passwd) {
         return forJdbcUrl(url, username, passwd, null);
     }
-
-    /**
-     * A {@link Closeable} {@link DataSource} based on a {@link BasicDataSource}
-     * .
-     */
-    private static class CloseableDataSource implements DataSource, Closeable {
-
-        private BasicDataSource ds;
-
-        public CloseableDataSource(BasicDataSource ds) {
-            this.ds = ds;
-        }
-
-        @Override
-        public PrintWriter getLogWriter() throws SQLException {
-            return this.ds.getLogWriter();
-        }
-
-        @Override
-        public int getLoginTimeout() throws SQLException {
-            return this.ds.getLoginTimeout();
-        }
-
-        @Override
-        public void setLogWriter(PrintWriter pw) throws SQLException {
-            this.ds.setLogWriter(pw);
-        }
-
-        @Override
-        public void setLoginTimeout(int t) throws SQLException {
-            this.ds.setLoginTimeout(t);
-        }
-
-        @Override
-        public boolean isWrapperFor(Class<?> c) throws SQLException {
-            return this.ds.isWrapperFor(c);
-        }
-
-        @Override
-        public <T> T unwrap(Class<T> c) throws SQLException {
-            return this.ds.unwrap(c);
-        }
-
-        @Override
-        public void close() throws IOException {
-            try {
-                this.ds.close();
-            } catch (SQLException ex) {
-                throw new IOException("closing data source " + this.ds, ex);
-            }
-        }
-
-        @Override
-        public Connection getConnection() throws SQLException {
-            return this.ds.getConnection();
-        }
-
-        @Override
-        public Connection getConnection(String user, String passwd) throws SQLException {
-            return this.ds.getConnection(user, passwd);
-        }
-
-        // needed in Java 7...
-        @SuppressWarnings("unused")
-        public Logger getParentLogger() throws SQLFeatureNotSupportedException {
-            throw new SQLFeatureNotSupportedException();
-        }
-
-        @Override
-        public String toString() {
-            return this.getClass().getName() + " wrapping a " + this.ds.toString();
-        }
-    }
 }

Modified: jackrabbit/oak/trunk/oak-exercise/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/pom.xml?rev=1702942&r1=1702941&r2=1702942&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-exercise/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-exercise/pom.xml Mon Sep 14 13:17:39 2015
@@ -267,12 +267,6 @@
     <!--<scope>test</scope>-->
     <!--</dependency>-->
     <!--<dependency>-->
-    <!--<groupId>commons-dbcp</groupId>-->
-    <!--<artifactId>commons-dbcp</artifactId>-->
-    <!--<version>1.4</version>-->
-    <!--<scope>test</scope>-->
-    <!--</dependency>-->
-    <!--<dependency>-->
     <!--<groupId>org.apache.sling</groupId>-->
     <!--<artifactId>org.apache.sling.testing.osgi-mock</artifactId>-->
     <!--</dependency>-->

Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1702942&r1=1702941&r2=1702942&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Mon Sep 14 13:17:39 2015
@@ -345,9 +345,9 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>commons-dbcp</groupId>
-      <artifactId>commons-dbcp</artifactId>
-      <version>1.4</version>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jdbc</artifactId>
+      <version>7.0.64</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: jackrabbit/oak/trunk/oak-run/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=1702942&r1=1702941&r2=1702942&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Mon Sep 14 13:17:39 2015
@@ -282,9 +282,9 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>commons-dbcp</groupId>
-      <artifactId>commons-dbcp</artifactId>
-      <version>1.4</version>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jdbc</artifactId>
+      <version>7.0.64</version>
     </dependency>
     <dependency>
       <groupId>com.h2database</groupId>