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/10 19:03:28 UTC
svn commit: r1702298 - in /jackrabbit/oak/trunk: oak-core/pom.xml
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
oak-jcr/pom.xml oak-run/pom.xml
Author: reschke
Date: Thu Sep 10 17:03:28 2015
New Revision: 1702298
URL: http://svn.apache.org/r1702298
Log:
OAK-2986: revert previous changes
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-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=1702298&r1=1702297&r2=1702298&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-core/pom.xml Thu Sep 10 17:03:28 2015
@@ -277,6 +277,13 @@
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.4</version>
+ <optional>true</optional>
+ </dependency>
+
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -344,11 +351,5 @@
<artifactId>commons-math3</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-jdbc</artifactId>
- <version>7.0.64</version>
- <optional>true</optional>
- </dependency>
</dependencies>
</project>
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=1702298&r1=1702297&r2=1702298&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 Sep 10 17:03:28 2015
@@ -16,21 +16,24 @@
*/
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;
/**
- * Simple factory for creating {@link DataSource}s based on a JDBC connection
- * URL.
- * <p>
- * This class is not intended for use in production, as it does not support
- * configuring the pool's parameters.
+ * Factory for creating {@link DataSource}s based on a JDBC connection URL.
*/
public class RDBDataSourceFactory {
@@ -62,14 +65,14 @@ public class RDBDataSourceFactory {
}
try {
- org.apache.tomcat.jdbc.pool.DataSource bds = new org.apache.tomcat.jdbc.pool.DataSource();
+ BasicDataSource bds = new BasicDataSource();
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 bds;
+ return new CloseableDataSource(bds);
} catch (SQLException ex) {
String message = "trying to obtain driver for " + url;
LOG.info(message, ex);
@@ -80,4 +83,77 @@ 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-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1702298&r1=1702297&r2=1702298&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Thu Sep 10 17:03:28 2015
@@ -345,10 +345,10 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-jdbc</artifactId>
- <version>7.0.64</version>
- <optional>true</optional>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.4</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
Modified: jackrabbit/oak/trunk/oak-run/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=1702298&r1=1702297&r2=1702298&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Thu Sep 10 17:03:28 2015
@@ -282,10 +282,9 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-jdbc</artifactId>
- <version>7.0.64</version>
- <optional>true</optional>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.4</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>