gpt4 book ai didi

java - JackRabbit 持久性管理器说明

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:04 25 4
gpt4 key购买 nike

我正在尝试决定为我的项目使用哪种类型的持久性管理器。我读了这个wiki entry about persistenceManagers .

首先,由于 JCR-2802(所有非捆绑 PM 已弃用),只有

BundleFsPersistenceManager
BundleDbPersistenceManager
Mysql,H2,PostgreSQL,Oracle,Derby,MSSQL - PersistenceManagers

所有这些 InMem、Object、Xml PersistenceManagers 都被弃用了。 (MemoryFileSystem 仍然可以,而 InMemPM 已被弃用?)

因此,正如我所见,BundleFsPersistenceManager 使用 LocalFileSystem 在文件系统和BundleDbPersistenceManager 使用 DbFileSystem 将完全相同的文件存储到 DBMS 中?否则就无法进行 Lucene 索引和全文搜索,对吧?

所以原因是系统的集群和分布式性质以及原子性......否则数据库实现将是多余的,对吧?这样人们就有了更多的选择。

最佳答案

MemoryFileSystem still OK while InMemPM is deprecated ?

是的...内存中持久性管理器被弃用有点令人难过,因为它允许运行快速单元测试。但是,您也可以将数据库持久性管理器与内存数据库(例如 H2 数据库)结合使用。

is there a wiki entry that explains the means of how content is stored into files?

不,因为这是一个实现细节并且可能会发生变化,您永远不需要自己解析或编写此类文件,而是使用 Jackrabbit。

like different types of node properties such as nt:file

文件内容存储在 DataStore 中。节点和属性数据以及到数据存储的链接是持久性管理器。

Otherwise lucene indexing and full text searching wouldn't be possible right ?

Lucene 索引独立于持久性管理器或持久性管理器使用的数据格式。 Lucene 索引内部不直接访问持久性管理器数据。

otherwise the database implementation would be redundant right ?

只是有些人更喜欢将所有数据存储在数据库中(例如因为他们已经有一个数据库并且非常了解如何操作/备份/维护它)。大多数人似乎可以直接将数据存储在文件系统中,但是 Jackrabbit 中没有内置的基于事务文件的持久性管理器。为此,您需要使用 Jackrabbit 扩展程序,例如(商业)CRX from Adobe。 (免责声明:我为 Adob​​e 工作)。

关于java - JackRabbit 持久性管理器说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com