Apache JackRabbit是一个开放源码的JSR-170 实现,实现了Level 2,但它还有许多扩展的功能。
JackRabbit需要两个参数来配置一个内容仓库实例。
1.内容仓库主目录:这个文件目录下通常包含了所有的内容,搜索索引,内部配置文件和其他持久化信息。它的结构看起来会像下面这个样子:
|-repository
| |
| |-index
| |-meta
| |-namespaces
| |-nodetypes
|
|-version
|
|-workspace
|
|--default
2.内容仓库配置文件:一个典型的配置文件如下:
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/repository"/>
</FileSystem>
<Security appName="Jackrabbit">
<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
<LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous"/>
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${wsp.home}"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager">
<param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/version" />
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager">
<param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/>
<param name="schemaObjectPrefix" value="version_"/>
</PersistenceManager>
</Versioning>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
</SearchIndex>
</Repository>
在这个配置文件里,<Repository>元素是根元素,它包含了下面这些元素:
a,<FileSystem>: 该元素配置了内容仓库的全局数据存储位置,这些全局数据包括已注册的命名空间,定制的节点类型等等。 JackRabbit 提供了几种选择,一种是像上面例子里配置的存储在本地文件里,LocalFileSystem. 如果你想把它们存储在数据库里,你可以使用 DbFileSystem.
b,<Security>:内容仓库的安全配置,它有两个子元素:<AccessManager>和<LoginModule>。<AccessManager>配置的类用来判断用户有没有权限来对特定数据执行特定的操作。
c,< Workspaces>:这个元素的配置对所有的workspace都通用。它的rootPath 属性是所有workspace文件夹的根目录,在我们的例子里它是c:/temp/Blogging/Workspace; defaultWorkspace 属性则包含了workspace的默认名。
d,<Workspace>:这个元素是所有workspace的默认配置模板。去每个workspace文件夹下你都会发现一个workspace.xml文件,这个文件和这个元素的配置一模一样。三个子元素:<FileSystem>,和这个workspace相关数据的存储位置;< PersistenceManager> ,这个workspace内容节点存储策略;<SearchIndex>,可选,全文检索。
e,<Versioning>:配置一个版本相关的对象。其实JackRabbit也是把它作为节点来处理的。
这两个参数可以通过两种方式设置,一种是在仓库实例创建时直接传到Jackrabbit里去,一种是间接的通过设置JNDI object factory。
你可以设置org.apache.jackrabbit.repository.home 这个系统属性的值来指定你的内容仓库主目录;也可以设置
org.apache.jackrabbit.repository.conf 这个系统属性的值来指定你的内容仓库配置文件repository.xml。如果你不设定这两个
参数,Jackrabbit会把当前目录作为内容仓库主目录,同时,它有一个默认的内容仓库配置文件。
分享到:
相关推荐
Apache Jackrabbit 是一个开源的Java Content Repository (JCR)实现,它是Content Management Systems (CMS)的核心技术之一。JCR是Java Specification Request (JSR) 170和JSR 283定义的标准,旨在提供一个统一的...
Apache Jackrabbit 是一个开源的、实现了Java Content Repository (JCR) API的内容管理系统,它是一个标准接口,用于在各种存储系统中管理和访问结构化和非结构化数据。Jackrabbit 提供了一个全面的、基于文件系统的...
Apache Jackrabbit 2.6 是一个开放源代码的、基于Java的内容管理系统(CMS),它实现了JCR(Java Content Repository)规范,提供了一种用于存储、管理和检索非结构化数据的标准接口。Jackrabbit 提供了一个高性能、...
欢迎使用Apache Jackrabbit FileVault FileVault将JCR存储库引入了文件系统映射。 该映射由API公开,并由“ FileVault Content Packages”使用,后者允许创建存储库内容的可移植软件包。 Vault命令行界面(又称“ ...
杰克兔(Jackrabbit)是Apache软件基金会的一个开源项目,它是Java Content Repository(JCR)规范的一个实现。JCR是一种标准接口,定义了如何在内容管理系统中存储、检索和管理结构化和非结构化数据。这个...
Apache Jackrabbit Oak 是一个开源的、高性能的、基于NoSQL的文档存储系统,它是Apache Jackrabbit项目的一部分,专为内容管理而设计。在ApacheCon EU '14上进行的"Flexible search with Apache Jackrabbit Oak"演讲...
Apache Jackrabbit API 是一个强大的内容管理系统(CMS)的核心组件,它是Apache Software Foundation 开发的Java Content Repository (JCR) 的实现。JCR 是一个标准,它定义了一个用于存储、管理和检索结构化内容的...
标题中的"jackrabbit-webdav-2.7.1.zip"指的是Apache Jackrabbit的一个特定版本——2.7.1的WebDAV模块的压缩包。Apache Jackrabbit是Java内容存储库(Content Repository)的一个实现,它遵循JCR(Java Content ...
标题中的“查看jackrabbit仓库的小工具”指的是一个用于观察和管理Apache Jackrabbit仓库的实用程序。Jackrabbit是Java Content Repository (JCR) API的一个开源实现,它提供了一个内容管理系统(CMS)的基础框架,...
【标题】"jackrabbit-core-2.7.2.zip" 是一个包含Apache Jackrabbit Core库的压缩文件。Apache Jackrabbit是基于Java的内容管理系统(CMS)实现,它专注于内容存储和检索,符合Java Content Repository(JCR)API...
Apache Jackrabbit是一个开源的、实现了Java Content Repository (JCR) API的内容管理系统,它允许开发者创建、管理和查询结构化和非结构化的数据。JCR是Java社区制定的一个标准,旨在为各种应用程序提供统一的数据...
Apache Jackrabbit 是一个开源的内容管理系统(CMS)框架,它实现了Java Content Repository (JCR) API。JCR API 是一种标准接口,允许应用程序访问和管理结构化内容存储库,类似于文件系统,但支持更丰富的数据类型...
Jackrabbit Oak 是一种可扩展的高性能分层内容 专为现代世界级基础而设计的存储库 网站和其他要求苛刻的内容应用程序。Oak 工作是 Apache Jackrabbit 项目的一... Apache Jackrabbit 是 Apache 软件基金会的一个项目
标题中的"jackrabbit-jcr-tests-2.4.1.zip"指的是Apache Jackrabbit项目的JCR测试模块的一个版本,这是针对内容管理系统(Content Management System, CMS)标准Java Content Repository (JCR)的一套测试用例。...
这款开源软件解决方案是Apache Jackrabbit项目的一部分,它基于JCR(Java Content Repository)规范,提供了一种高效、安全的方式来存储和管理大量结构化和非结构化数据。 在深入了解Jackrabbit Oak之前,我们需要...
Apache Jackrabbit是Apache软件基金会的项目。 入门 要开始使用Oak,请使用Maven 3和Java 8(或更高版本)构建最新的源代码,如下所示: mvn clean install 要启用所有集成测试,包括JCR TCK,请使用: mvn clean...
Jackrabbit-Trunk,这个名字源于Apache Jackrabbit项目,是这个开源内容管理系统(CMS)的核心部分。Jackrabbit是一个完全实现了JCR(Java Content Repository,Java内容仓库)规范的开源内容存储库。JCR是Java社区...
Apache Jackrabbit是由Apache Foundation 提供的 JSR-170 的开放源码实现,JSR-170把自己定义为一个能与内容仓库互相访问的,独立的,标准的方式。同时它也对内容仓库做出了自己的定义,它认为内容仓库是一个高级的...
jcr-oak-rpc-api-nodejs 用于通过 nodejs 访问 Jacrabbit Oak 存储库的 Api 入门 安装模块: npm install jcr-oak-rpc-api-nodejs var jcr - oak - rpc - api - nodejs = require ( 'jcr-oak-rpc-api-nodejs' ) ;...
jackrabbit-datastore-migration 适用于Apache Jackrabbit的DataStore迁移工具。 Apache Jackrabbit支持各种DataStore组件,例如FileDataStore , DbDataStore , S3DataStore和VFSDataStore 。 有关详细信息,请...