From 331be8c500d2477aa1476b9f93ff56302c830322 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 6 Apr 2016 16:05:54 +0000 Subject: [PATCH] Add DB drivers. git-svn-id: https://svn.argeo.org/commons/trunk@8865 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- org.argeo.server.jcr/bnd.bnd | 2 ++ .../ManagedJackrabbitRepository.java | 29 ++++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/org.argeo.server.jcr/bnd.bnd b/org.argeo.server.jcr/bnd.bnd index d0385e232..5645d300d 100644 --- a/org.argeo.server.jcr/bnd.bnd +++ b/org.argeo.server.jcr/bnd.bnd @@ -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 diff --git a/org.argeo.server.jcr/src/org/argeo/jackrabbit/ManagedJackrabbitRepository.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/ManagedJackrabbitRepository.java index 2ec869302..85eff49e8 100644 --- a/org.argeo.server.jcr/src/org/argeo/jackrabbit/ManagedJackrabbitRepository.java +++ b/org.argeo.server.jcr/src/org/argeo/jackrabbit/ManagedJackrabbitRepository.java @@ -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); + } } /* -- 2.30.2