持久管理

持久管理

持久管理是jackrabbit内部模块,主要是用来操作内容节点与属性的存储。内容仓库的性能关键是PM的性能。

Jackrabbit的持久存储主要是针对内容节点与属性进行存储,属性值也是存储在持久管理,除了大的二进制值通常保存在数据存储。

jackrabbit的每一个workSpace都有独立的持久管理来存储内容,版本管理也是使用单独的持久管理。

持久管理配置使用workspace配置文件配置,如下:

<PersistenceManager class="...">
    <param name="..." value="..."/>
    ...
</PersistenceManager>

如果想要扩展PM,可以显示PM提供的接口定义。

如果你想将数据存在关系数据库, 可以使用LocalFileSystem or DbFileSystem任何一个,如果你考虑更多访问的格式,可以尝试使用 XMLPersistenceManager 与 LocalFileSystem

 

可用的PM,如下:

BundleDbPersistenceManager

状态:成熟

目前依赖数据库:

  • org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager (Apache Derby; Java)

  • org.apache.jackrabbit.core.persistence.bundle.H2PersistenceManager (H2 Database Engine; Java)

  • org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager (MySQL)

  • org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager (PostgreSQL)

  • org.apache.jackrabbit.core.persistence.bundle.MSSqlPersistenceManager (MS SQL Server)

  • org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager (Oracle 10 or newer)

  • org.apache.jackrabbit.core.persistence.bundle.Oracle9PersistenceManager (Oracle 9)

  • org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager (generic database)

基于JDBC,快速部署,支持自动重连,可以使用JNDI,自动创建Tables

 

BundleFsPersistenceManager

不要在生产环境使用,如果只是只读模式可以

java进程如果被kill掉会出现问题

 

InMemPersistenceManager

内容仓库关闭,则数据丢失

用于测试

 

SimpleDbPersistenceManager

基于JDBC,快,元数据自动创建

 

ObjectPersistenceManager

已过时

 

你可能感兴趣的:(管理)