X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FJackrabbitNode.java;h=8ef16c44ffc6d88a68ce261cd90e4176e6830ae5;hb=92ac99f3ededbcd28def2bf9601bb33c02a351b3;hp=e31e8af7d043b86be05630747f753c5b261b154c;hpb=a26f605a973ee078ded2b7e581f17f022acc8405;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitNode.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitNode.java index e31e8af7d..8ef16c44f 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitNode.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitNode.java @@ -20,10 +20,12 @@ import org.apache.jackrabbit.core.RepositoryImpl; import org.apache.jackrabbit.core.cache.CacheManager; import org.apache.jackrabbit.core.config.RepositoryConfig; import org.apache.jackrabbit.core.config.RepositoryConfigurationParser; +import org.apache.jackrabbit.stats.RepositoryStatisticsImpl; import org.argeo.ArgeoException; import org.argeo.cms.CmsException; import org.argeo.jackrabbit.JackrabbitWrapper; import org.argeo.jcr.ArgeoJcrConstants; +import org.argeo.jcr.DefaultRepositoryRegister; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; import org.xml.sax.InputSource; @@ -33,7 +35,6 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, ArgeoJcrConstants { private static Log log = LogFactory.getLog(JackrabbitNode.class); - @SuppressWarnings("unused") private RepositoryContext repositoryContext; private ServiceRegistration repositoryReg; @@ -52,11 +53,12 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, } } - public void publish() { + void publish(DefaultRepositoryRegister repositoryRegister) { Hashtable regProps = new Hashtable(); regProps.put(JCR_REPOSITORY_ALIAS, ALIAS_NODE); repositoryReg = getBundleContext().registerService(Repository.class, this, regProps); + repositoryRegister.register(this, regProps); } public void destroy() { @@ -64,9 +66,8 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, ((RepositoryImpl) getRepository()).shutdown(); } - Dictionary getDefaults() { - return KernelUtils.asDictionary(getClass().getClassLoader(), - "/org/argeo/cms/internal/kernel/jackrabbit-node.properties"); + RepositoryStatisticsImpl getRepositoryStatistics() { + return repositoryContext.getRepositoryStatistics(); } private RepositoryConfig getConfiguration(JackrabbitNodeType type, @@ -117,6 +118,12 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, // common setProp(defaults, REPO_DEFAULT_WORKSPACE, "main"); setProp(defaults, REPO_MAX_POOL_SIZE, "10"); + // Jackrabbit defaults + setProp(defaults, REPO_BUNDLE_CACHE_MB, "8"); + // See http://wiki.apache.org/jackrabbit/Search + setProp(defaults, REPO_EXTRACTOR_POOL_SIZE, "0"); + setProp(defaults, REPO_SEARCH_CACHE_SIZE, "1000"); + setProp(defaults, REPO_MAX_VOLATILE_INDEX_SIZE, "1048576"); // specific String dburl; @@ -160,7 +167,7 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, RepositoryImpl repository = repositoryContext.getRepository(); // cache - String maxCacheMbStr = prop(KernelConstants.REPO_MAX_CACHE_MB, null); + String maxCacheMbStr = prop(REPO_MAX_CACHE_MB, null); if (maxCacheMbStr != null) { Integer maxCacheMB = Integer.parseInt(maxCacheMbStr); CacheManager cacheManager = repository.getCacheManager(); @@ -177,14 +184,11 @@ class JackrabbitNode extends JackrabbitWrapper implements KernelConstants, RepositoryConfig repositoryConfig) throws RepositoryException { File homeDirectory = null; long begin = System.currentTimeMillis(); - // RepositoryImpl repository; // // Actual repository creation // RepositoryContext repositoryContext = RepositoryContext .create(repositoryConfig); - // repository = repositoryContext.getRepository(); - // repository = RepositoryImpl.create(repositoryConfig); double duration = ((double) (System.currentTimeMillis() - begin)) / 1000; if (log.isTraceEnabled())