Modeshape文档的7.1.6节说'您的应用程序现在可以使用标准JCR 2.0 API创建和删除工作区。'创建新工作区
的JCR 2.0医生说使用Workspace.createWorkspace(字符串名称)
如何让我的资料库,这部分使用的代码在这篇文章底部得到?
另外,如何获取已在存储库中的工作区列表?
感谢
for (RepositoryFactory factory : ServiceLoader.load(RepositoryFactory.class)) {
if (factory instanceof org.modeshape.jcr.api.RepositoryFactory) {
org.modeshape.jcr.api.RepositoryFactory modeshapeRepositoryFactory = (org.modeshape.jcr.api.RepositoryFactory) factory;
final Repositories repositories = modeshapeRepositoryFactory.getRepositories(JCR_CONFIG_FILE_URL);
if (repositories != null) {
Set<String> repositoryNames = repositories.getRepositoryNames();
if (repositoryNames != null) {
for (String repoName : repositoryNames) {
log.info(repoName);
}
}
}
else {
System.out.println("repositories reference was null");
}
}
try {
repository = factory.getRepository(parameters);
if (repository != null) {
printRepoDetails(repository, parameters, factory);
repositoryFactory = factory; // Keep reference to allow clean shutdown. Not part of JCR 2.0
break;
}
}
catch (RepositoryException e) {
log.error("Error getting repository: \n" + e.toString());
e.printStackTrace();
}
}
振形支持使用标准的API,以获得从RepositoryFactory存储库,并登录到存储库来获取会话。所以大多数客户可以/应该只使用标准接口。但标准的JCR API没有指定一个存储库是否有名称,因此不提供获取存储库名称列表的方式。 ModeShape确实将存储库与名称相关联,因此提供了上面显示的ModeShape特定的接口。 – 2012-03-22 12:04:57