The Apache Jackrabbit™ content repository is a fully conforming implementation of the Content Repository for Java Technology API.
Jackrabbit是完全遵照JAVA API实现的一个内容仓库。
A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more。
是一个分级内容仓库,可以存放结构化和非结构化内容,全文本搜索,版本,汇报,观察报告等等。
To get started with Jackrabbit you should first become familiar with the JCR API. Download theJSR 170 specification, browse theAPI documentation, check our introduction to JCR levels, or read some of the JCR articles to understand the content repository model that Jackrabbit implements. You can also take a look at the various JCR and Jackrabbit applications to get an idea of what to do with a content repository.
What Is a Persistence Manager (PM)?
PM是Jackrabbit内部的一个组件,处理内容或属性的持久化存储。
Consistency / Atomicy
如果数据库支持原子性则数据库持久化是原子性的。
当前文件系统是不支持原子性的。
What Combination of FS and PM is the Best Choice?
取决于你的优先级。如果你想存储数据在RDBMS中,用BundleDbPersistenceManager整合LocalFileSystem或DbFileSystem。如果你想存储文件更容易理解,你需要使用XMLPersistenceManager配合LocalFileSystem。
Available Implementations
Bundle Database PM
Status: mature (the default persistence manager)
Depending on the database, one of the following:
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)
Atomic; JDBC based; zero-deployment; fast
Auto-reconnect to the database is supported.
To use a JNDI data, see UsingJNDIDataSource.
The tables are automatically created. To create them manually, see ManuallyCreatingDatabaseTables.
Bundle File-System PM
Status: mature
If the JVM process is killed the repository might turn inconsistent
Not meant to be used in production environments (except for read-only uses)
org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager
Very fast if used with .DataStore or BLOBStore
In-Memory PM
Status: mature
All data is lost as soon as the repository is closed
org.apache.jackrabbit.core.persistence.mem.InMemPersistenceManager
For testing and small (read-only) workspaces
Keeps all content in memory
A custom binary serializer is optionally used to load and store the persistent state during initialization and shutdown of the persistence manager.
Very fast
Simple Database PM
Status: mature
Subclasses of org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
JDBC based; zero-deployment: schema is automatically created
Atomic
ObjectPersistenceManager
Status: obsolete, mature
If the JVM process is killed the repository might turn inconsistent
Not meant to be used in production environments
Persists data in an abstract FileSystem using a simple binary serialization format
XMLPersistenceManager
Status: obsolete, mature
If the JVM process is killed the repository might turn inconsistent
Persists data in an abstract FileSystem using XML serialization format
ORMPersistenceManager
Status: obsolete, experimental & unfinished, still being maintained?
Referential integrity is possible, but not implemented
Not so easy to configure.
LocalFileSystem:
Status: mature
Slow on window boxes
MemoryFileSystem:
Status: mature
All data is lost as soon as the repository is closed
For testing and small (read-only) workspaces
Keeps all content in memory
Very fast
DbFileSystem:
Status: mature
Atomic
Meant to be used in combination with a Database Persistence Manager as repository & workspace file system
The Apache Jackrabbit™ content repository is a fully conforming implementation of the Content Repository for Java Technology API.Jackrabbit是完全遵照JAVA API实现的一个内容仓库。A content repository is a hierarchical...
原文地址:http://www.onjava.com/pub/a/onjava/2006/10/04/what-is-java-content-repository.html?page=4
JSR-170把自己定义为一个能与内容仓库互相访问的,独立的,标准的方式。同时它也对内容仓库做出了自己的定义,它认为内容仓库是一个高级的信息管理系统,该系统是是传统的数据仓库的扩展,它提供...
以下内容来自
jack
rabbit
官方文档
官方跳转链接:
Jack
rabbit
First Hops
First HopsFirst HopsHop 0: 入门Hop 1: 登录到
Jack
rabbit
Hop 2: 处理内容Hop 3: 导入内容
First Hops
欢迎来到您进入
Jack
rabbit
世界的第一站!
本简介为您提供了使用
Jack
rabbit
和JCR API的动手经验。
一旦完成了本文档的跳转,就应该准备继续使用官方的JCR规范和该站点上的文档。
Hop 0: 入门
开始使用
Jack
rabbit
文章目录1.什么是JCR1.1 JCR 是什么1.2 JCR的内容仓库模型2.什么是
Jack
rabbit
3.使用
Jack
rabbit
3.1 配置
Jack
rabbit
环境3.2使用
Jack
rabbit
1.什么是JCR
1.1 JCR 是什么
Java Content Repository API(JSR-170)试图建立一套标准的API去访问内容仓库。
内容仓库可以理解为一个用来存储文本和二进制数据(图片,word文档,PDF等等)的数据存储应用程序。
你不用关心你真正的数据到底存储在什么地方,是关系数
在
Jack
rabbit
存储体系中,PersistenceManager主要用来存储节点的基本属性信息,而二进制数据信息(更确切的说是属性类型为jcr:data的数据,以下称之为文件数据)是通过DataStore来存储的
每个文件数据的ID为它的数字签名,这样便确保了同一个的文件在DataStore中只存在一份拷贝,而在PersistenceManager中,相应的JCR节点只是存储了文件数据的引...