【问题标题】:Jackrabbit: What is the difference between PersistenceManager, DataStore & FileSystem and how to use them effectively?Jackrabbit:PersistenceManager、DataStore 和 FileSystem 之间有什么区别以及如何有效地使用它们?
【发布时间】:2016-10-17 16:11:15
【问题描述】:

目前了解:

PersistenceManager:Persistence Manager 是 Jackrabbit 存储节点和属性的关键部分。

DataStore:Data Store 与 PersistenceManager 结合使用来存储大型内容。

FileSystem:FileSystem 是一种低级抽象,由 Persistence Manager(以及一些其他组件,例如版本控制)使用

来源:

http://jackrabbit.apache.org/jcr/jackrabbit-configuration.html http://jackrabbit.apache.org/jcr/frequently-asked-questions.html http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ http://wiki.apache.org/jackrabbit/DataStore

问题:

  • 以上理解正确吗?

  • 在生产环境中,建议使用数据库(例如 MySQL)存储 jackrabbit 元数据和小文件,同时使用批量存储、弹性文件系统(例如 S3)存储大文件。用于此的配置:

    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> ...

    <DataStore class="org.apache.jackrabbit.aws.ext.ds.S3DataStore"> ... (http://mvnrepository.com/artifact/org.apache.jackrabbit/jackrabbit-aws-ext)

    • 这个配置对吗?
    • FileySystem 应该如何配置?
  • 上面的配置应该是repository.xml还是workspace.xml

【问题讨论】:

标签: java jackrabbit


【解决方案1】:

理解是正确的!但我添加了一些:

  • 文件系统用于存储配置和其他元数据,例如:节点类型配置、您的命名空间、版本控制
  • PersistenceManager 存储您的节点和属性
  • 用于存储大型二进制数据的数据存储

您的配置必须在 repository.xml 中。在这个文件中你可以配置你所有的工作空间,所以 workspace.xml 是从你的 repository.xml 生成的,不需要写一个 workspace.xml

有关 repository.xml 的示例,请参阅 this topic

【讨论】:

  • 当工作空间已经存在并且repository.xml中的配置发生改变时,它不会影响现有的工作空间。 repository.xml 中的<workspace> 部分仅用作新工作区的模板。另外,如果每个workspace需要不同的配置,我们需要修改workspace.xml
猜你喜欢
  • 2020-04-29
  • 2018-06-25
  • 2023-03-17
  • 2011-10-15
  • 2017-05-18
  • 2020-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多