You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ma...@apache.org on 2009/09/14 12:42:43 UTC

svn commit: r814570 - in /jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core: fs/db/DbFileSystem.java journal/DatabaseJournal.java persistence/bundle/BundleDbPersistenceManager.java

Author: martijnh
Date: Mon Sep 14 10:42:43 2009
New Revision: 814570

URL: http://svn.apache.org/viewvc?rev=814570&view=rev
Log:
JCR-1456 Database connection pooling

* DbType config from DataSource configuration overrides dbType set at component but
  only if that configuration exists.

Modified:
    jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java
    jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java
    jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java

Modified: jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java?rev=814570&r1=814569&r2=814570&view=diff
==============================================================================
--- jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java (original)
+++ jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java Mon Sep 14 10:42:43 2009
@@ -212,7 +212,10 @@
         if (getDataSourceName() == null || "".equals(getDataSourceName())) {
             return ConnectionFactory.getDataSource(getDriver(), getUrl(), getUser(), getPassword());
         } else {
-            setSchema(ConnectionFactory.getDataBaseType(dataSourceName));
+            String dbType = ConnectionFactory.getDataBaseType(dataSourceName);
+            if (DatabaseFileSystem.class.getResourceAsStream(dbType + ".ddl") != null) {
+                setSchema(dbType);
+            }
             return ConnectionFactory.getDataSource(dataSourceName);
         }
     }

Modified: jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java?rev=814570&r1=814569&r2=814570&view=diff
==============================================================================
--- jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java (original)
+++ jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java Mon Sep 14 10:42:43 2009
@@ -321,7 +321,10 @@
         }
         if (dataSourceName != null) {
             try {
-                databaseType = ConnectionFactory.getDataBaseType(dataSourceName);
+                String configuredDatabaseType = ConnectionFactory.getDataBaseType(dataSourceName);
+                if (DatabaseJournal.class.getResourceAsStream(configuredDatabaseType + ".ddl") != null) {
+                    setDatabaseType(configuredDatabaseType);
+                }
             } catch (RepositoryException e) {
                 throw new JournalException("failed to get database type", e);
             }

Modified: jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java?rev=814570&r1=814569&r2=814570&view=diff
==============================================================================
--- jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java (original)
+++ jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java Mon Sep 14 10:42:43 2009
@@ -25,7 +25,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.sql.Blob;
-import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
@@ -532,7 +531,10 @@
         if (getDataSourceName() == null || "".equals(getDataSourceName())) {
             return ConnectionFactory.getDataSource(getDriver(), getUrl(), getUser(), getPassword());
         } else {
-            setDatabaseType(ConnectionFactory.getDataBaseType(dataSourceName));
+            String dbType = ConnectionFactory.getDataBaseType(dataSourceName);
+            if (BundleDbPersistenceManager.class.getResourceAsStream(dbType + ".ddl") != null) {
+                setDatabaseType(dbType);
+            }
             return ConnectionFactory.getDataSource(dataSourceName);
         }
     }