java - 正在寻求符合 JCR 的客户端库来访问 CMIS 存储库?

标签 java jcr cmis apache-chemistry

什么是最好的 Java 客户端库,它实现了标准 JCR API,可以访问 CMIS 存储库。我有一个与 JCR 通信的程序,我想让它使用 CMIS 存储库。

一些未经证实的说法称Apache Chemistry可以做到这一点。但是,我找不到任何明确的文档。有大量有关 Chemistry 如何允许您使用 CMIS 访问 JCR 存储库的文档。

Apache Chemistry 提供 client library用于访问 CMIS 存储库,但这似乎是一个非标准 API - 类和方法名称直接提及 CMIS。没有提及该客户端库符合 JCR 标准。

如果您正在编写一个可以插入不同存储库的程序,那么编写使用 JCR 是有意义的。这个excellent article解释了它们如何兼容。那么,允许我向 JCR 编写程序以访问 CMIS 存储库的最佳 Java LIB 是什么? (或者有什么理由认为这是无稽之谈吗?)

最佳答案

ModeShape实现 JCR 2.0 API,并具有名为 federation 的功能这使得它能够将外部系统的内容包含到 ModeShape 存储库的某个区域中。 ModeShape 的 connectors将外部系统转换为节点和属性。所有这些对于客户端应用程序都是透明的,客户端应用程序看起来就像一个具有节点和属性的 JCR 存储库 - 其中一些节点恰好属于 ModeShape,而其他内容恰好属于外部系统。 (客户端实际上无法直接区分ModeShape拥有的节点和外部系统中数据的投影之间的区别。当然,外部内容可能具有不同的节点类型,使得客户端可以推断出什么是外部内容与内部。)

ModeShape 3.2 包含支持读取和写入的 CMIS 连接器。然而,它相当新,可能不具备您正在寻找的所有功能。另外,ModeShape 总是至少有一些自己的内容(例如,“jcr:system”区域),尽管它很容易 store that在本地文件系统、数据库甚至数据网格中。

关于java - 正在寻求符合 JCR 的客户端库来访问 CMIS 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618697/

相关文章:

alfresco - 如何使用 cmis api 从 Alfresco 中的文档 ID 获取文件夹详细信息

java - Runnable 的单元测试

java - Spring Boot JPARepository 在 save() 上的性能

java - 转换对象时 event.getItem() 和comboBox.getSelectedItem() 之间有什么区别

java - 使用 IoC 在我的 Magnolia 模块中注入(inject) Node2BeanProcessor,而不是使用组件

oracle - 根节点捆绑的唯一约束违规,Apache Jackrabbit 与 Oracle

sharepoint - 在 Sharepoint 2013 中使用 Apache Camel CMIS

java - 使用 APPMK 创建 Android 杂志应用程序

aem - javax.jcr.nodetype.ConstraintViolationException : No matching property definition: PROPERTY

jackrabbit - Sling vs CMIS 作为 Apache jackrabbit 的 REST 接口(interface)