ModeShape 设置和从外部应用程序访问

ModeShape setup and access from external application

我们在 JBoss EAP 4 上有一个集群 JEE 应用程序。0.x 我正在尝试设置 JBoss Modeshape 存储库来存储一些文档(主要是 PDF)。我需要能够将文档从我的 JEE 应用程序上传和下载到 Modeshape 存储库。我需要在另一个 unix box 中设置故障转移 Modeshape 存储库,该存储库可以每晚从主服务器进行备份。

能否请您阐明以下设置/实施方向:

  1. 我需要将 Modeshape 部署到网络服务器(jboss 6.1 至少),可能是 jboss 7,因为有可用的安装程序。正确的?此外,部署在 jboss EAP 4.0.x?
  2. 上的外部 JEE 应用程序的交互可能存在任何问题
  3. 需要添加二进制存储位置以在文件系统中存储文件(不想通过添加 DB 来复杂化)。标准二进制存储和复合二进制存储之间有什么区别?
  4. Inifispan 缓存仅用于属性/元数据,二进制存储位置用于保存文件。正确吗?
  5. 重启后 infinispan 缓存是否持久,或者这些属性和元数据是否应该保存在其他地方?
  6. 要从我的 JEE Web 应用程序访问 Modeshape 存储库,我需要使用 webdav api。我将无法使用 RestAPI,因为我需要上传/下载 PDF 文件。这个对吗?另外,如果您对 webdav api/ 任何可能的设置步骤
  7. 提出更多见解,我们将不胜感激
  8. 我需要每晚将内容复制到备份的 Modeshape 服务器设置中。是否有任何可用的实用程序?

1 - 抱歉,我不是 JBoss 方面的专家,但 ModeShape 是纯粹的 Jboss 产品,并且文档对此很全面。我认为 JBoss EAP 7 对此有很好的定义。您可以使用 WebDav 或 Rest 在 JBoss 4.x 上的 ModeShape 和您的应用程序之间进行通信,以避免集成到 Jboss EAP 4.x.

2 - 标准二进制存储允许存储在文件系统中的文件上,而复合存储能够聚合多个类型的二进制存储:文件、infinispan、数据库或自定义。我认为您只需要标准二进制存储 (org.modeshape.jcr.value.binary.FileSystemBinaryStore).

3 - 是的,没错。元数据和二进制文件在不同的存储中是分开的。 Modeshape 使用 infinispan 将元数据存储在内存中(您可以使用 cacheStore 持久化它们)但二进制文件在另一个存储中(例如文件系统)。

4 - Infinispan 缓存在 ModeShape 上的每个事务中通过 cacheStore(文件系统或 JDBC 或 NoSQL 或云)持久保存。如果在 ModeShape 中创建了文件或文件夹,Infinispan 会立即通过 cacheStore 存储此信息。

5 - 要上传或下载文件,可以使用 WebDav 或 Rest。休息也提供 uri 上传文件:see rest api documentation

6 - 没有用于管理存储库的实用程序,但您可以使用编程备份。 ModeShape Jira 对下一个版本进行了改进,添加了命令行存储库管理工具:MODE-1660