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);
}