我正在尝试决定为我的项目使用哪种类型的持久性管理器。我读了这个关于 persistenceManagers 的 wiki 条目。
首先,由于 JCR-2802(所有非捆绑 PM 已弃用),只有
BundleFsPersistenceManager
BundleDbPersistenceManager
Mysql,H2,PostgreSQL,Oracle,Derby,MSSQL - PersistenceManagers
并且所有这些 InMem、Object、Xml PersistenceManager 都已弃用。(不推荐使用 InMemPM 时,MemoryFileSystem 仍然可以吗?)
因此,正如我所看到的,BundleFsPersistenceManager 在文件系统上使用 LocalFileSystem 来持久化文件(是否有解释如何将内容存储到文件中的方式的 wiki 条目? - 就像不同类型的节点属性,例如 nt:file)和 BundleDbPersistenceManager 使用 DbFileSystem将完全相同的文件存储到 DBMS 中?否则无法进行 lucene 索引和全文搜索,对吗?
所以原因是系统的集群和分布式特性以及原子性......否则数据库实现将是多余的,对吗?这样人们就有了更多的选择。