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
Fast
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
本文介绍了Apache Jackrabbit内容仓库,这是一个遵循Java API实现的内容存储解决方案,支持结构化和非结构化内容、全文搜索、版本控制等功能。文章还探讨了如何选择最佳的持久化管理器组合,并列举了多种可用的实现方式。

1442

被折叠的 条评论
为什么被折叠?



