Add DB drivers.
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Apr 2016 16:05:54 +0000 (16:05 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Apr 2016 16:05:54 +0000 (16:05 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8865 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.server.jcr/bnd.bnd
org.argeo.server.jcr/src/org/argeo/jackrabbit/ManagedJackrabbitRepository.java

index d0385e232fa7446c10618de49c623afd310c5007..5645d300d16fdd9ceb7ead4b89a986ad5d8b6d8f 100644 (file)
@@ -6,5 +6,7 @@ org.springframework.*;resolution:=optional,\
 org.apache.jackrabbit.*;resolution:=optional,\
 org.apache.jackrabbit.webdav.jcr;resolution:=optional,\
 org.apache.jackrabbit.webdav.server;resolution:=optional,\
+org.h2;resolution:=optional,\
+org.postgresql;resolution:=optional,\
 *
 Export-Package: org.argeo.jcr.*, org.argeo.jackrabbit.*
\ No newline at end of file
index 2ec8693024ef98ed8562e4aec927691068e31110..85eff49e8b9653cd5af8280da3ad92d4395ed11e 100644 (file)
@@ -214,17 +214,24 @@ public class ManagedJackrabbitRepository extends JcrRepositoryWrapper implements
        }
 
        private RepositoryContext createJackrabbitRepository(RepositoryConfig repositoryConfig) throws RepositoryException {
-               long begin = System.currentTimeMillis();
-               //
-               // Actual repository creation
-               //
-               RepositoryContext repositoryContext = RepositoryContext.create(repositoryConfig);
-
-               double duration = ((double) (System.currentTimeMillis() - begin)) / 1000;
-               if (log.isTraceEnabled())
-                       log.trace("Created Jackrabbit repository in " + duration + " s, home: " + repositoryConfig.getHomeDir());
-
-               return repositoryContext;
+               ClassLoader currentContextCl = Thread.currentThread().getContextClassLoader();
+               Thread.currentThread().setContextClassLoader(ManagedJackrabbitRepository.class.getClassLoader());
+               try {
+                       long begin = System.currentTimeMillis();
+                       //
+                       // Actual repository creation
+                       //
+                       RepositoryContext repositoryContext = RepositoryContext.create(repositoryConfig);
+
+                       double duration = ((double) (System.currentTimeMillis() - begin)) / 1000;
+                       if (log.isTraceEnabled())
+                               log.trace(
+                                               "Created Jackrabbit repository in " + duration + " s, home: " + repositoryConfig.getHomeDir());
+
+                       return repositoryContext;
+               } finally {
+                       Thread.currentThread().setContextClassLoader(currentContextCl);
+               }
        }
 
        /*