jackrabbit-oak如何使用垃圾收集器

时间:2019-02-14 10:50:27

标签: garbage-collection jackrabbit-oak

jackrabbit-oak 1.8.3 db:mongodb 数据存储:FileDataStore,SharedS3DataStore [每个]

我已确认mongodb的数据已通过VersionGarbageCollector删除。

但是,我们知道FileDataStore和SharedS3DataStore中的二进制文件将通过调用垃圾回收器来删除。

TESTCASE源的执行如下。

MarkSweepGarbageCollector gc =新的MarkSweepGarbageCollector( 新的DocumentBlobReferenceRetriever(商店), (GarbageCollectableBlobStore)store.getBlobStore(),执行程序,root,5,blobGcMaxAgeInSecs,repoId);

我正在使用如下所示的jackrabbit-akak stanadalone版本,并使用OakOSGiRepositoryFactory创建javax.jcr.Repository。

请告知关于野兔橡木垃圾收集器的信息。 谢谢。

private Repository createRepository(List<String> repoConfigs, File repoHomeDir) throws RepositoryException {
    Map<String,Object> config = Maps.newHashMap();
    config.put(OakOSGiRepositoryFactory.REPOSITORY_HOME, repoHomeDir.getAbsolutePath());
    config.put(OakOSGiRepositoryFactory.REPOSITORY_CONFIG_FILE, commaSepFilePaths(repoConfigs));
    config.put(OakOSGiRepositoryFactory.REPOSITORY_SHUTDOWN_ON_TIMEOUT, false);
    config.put(OakOSGiRepositoryFactory.REPOSITORY_ENV_SPRING_BOOT, true);
    config.put(OakOSGiRepositoryFactory.REPOSITORY_TIMEOUT_IN_SECS, 10);
    config.put("repo.home", repoHomeDir.getAbsolutePath());
    config.put("oak.mongo.db", mongoDbName);
    config.put("oak.mongo.uri", getMongoURI());
    if(useAwsS3) {
        config.put("oak.aws.s3.accessKey", accessKey);
        config.put("oak.aws.s3.secretKey", secretKey);
        config.put("oak.aws.s3.s3Bucket", s3Bucket);
        config.put("oak.aws.s3.s3Region", s3Region);
    }
    configureActivator(config);

    return new OakOSGiRepositoryFactory().getRepository(config);
}

0 个答案:

没有答案