【问题标题】:ModeShape setup and access from external application从外部应用程序设置和访问 ModeShape
【发布时间】:2015-09-18 19:13:01
【问题描述】:
我们在 JBoss EAP 4.0.x 上有一个集群 JEE 应用程序
我正在尝试设置 JBoss Modeshape 存储库来存储一些文档(主要是 PDF)。我需要能够将文档从我的 JEE 应用程序上传和下载到 Modeshape 存储库。我需要在另一个 unix box 中设置一个故障转移 Modeshape 存储库,该存储库可以从主要夜间备份。
您能否阐明以下设置/实施方向:
- 我需要将 Modeshape 部署到 Web 服务器(至少为 jboss 6.1),可能是 jboss 7,因为有可用的安装程序。正确的?此外,部署在 jboss EAP 4.0.x 上的外部 JEE 应用程序的交互中是否存在任何可能的问题?
- 需要添加二进制存储位置以在文件系统中存储文件(不想通过添加数据库来复杂化)。标准二进制存储和复合二进制存储有什么区别?
- Inifispan 缓存仅用于属性/元数据,二进制存储位置用于保存文件。正确吗?
- 重新启动后 infinispan 缓存是否保持不变,还是应该将这些属性和元数据保存在其他地方?
- 要从我的 JEE Web 应用程序访问 Modeshape 存储库,我需要使用 webdav api。我将无法使用 RestAPI,因为我需要上传/下载 PDF 文件。这个对吗?另外,如果您对 webdav api/任何可能的设置步骤提供更多见解,我们将不胜感激
- 我需要每晚将内容复制到备份 Modeshape 服务器设置。有没有可用的实用程序?
【问题讨论】:
标签:
jakarta-ee
jboss
webdav
document-management
modeshape
【解决方案1】:
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 将它们持久化),但二进制文件在另一个存储中(例如 FileSystem)。
4 - Infinispan 缓存在 ModeShape 上的每个事务中通过 cacheStore(文件系统或 JDBC 或 NoSQL 或云)持久化。如果在 ModeShape 中创建了文件或文件夹,Infinispan 会立即通过 cacheStore 存储此信息。
5 - 要上传或下载文件,可以使用 WebDav 或 Rest。 Rest 还提供 uri 上传文件:see rest api documentation
6 - 管理存储库没有实用程序,但您可以使用程序备份。并且 ModeShape Jira 对下一个版本进行了改进,以添加命令行存储库管理工具:MODE-1660