快速业务通道

Java Content Repository API简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
:file 表示文件。它需要一个叫做 jcr:content 的单一子节点。这个节点类型表示 JCRWiki 条目中的图片和其他二进制内容。

nt:folder 节点类型可以表示文件夹,就像常规的文件系统中的文件夹一样。

nt:resource 通常表示文件的实际内容。

nt:version 是支持版本管理的仓库所必需的节点类型。

整个节点类型的结构可以在 JSR-170 规范的 6.7.22.1 小节找到。

名称空间

仓库模型一个有用的却经常被忽视的特性就是它对名称空间 的支持。名称空间防止不同来源和不同应用程序域之间的项目和节点类型的命名冲突。名称空间被定义为带有一个前缀,中间用一个 : (冒号)分隔。在这篇文章的教程中,已经遇到了一些名称空间:jcr 用于 JCR 的内部属性,mix 用于混合类型,nt 用于节点类型。在 JCRWiki 中,所有的数据都将使用 wiki 名称空间。

安装 JCR

在编写这篇文章的时候,Apache Jackrabbit(即 Apache 基金会的 JSR-170 的开源实现)的发行版已经到了版本 1.0。编译好的字节码 JAR 可以直接从 Jackrabbit Web 站点下载。虽然 Jackrabbit can 仍然可以用 SVN 从源代码进行编译,但是 Jackrabbit 库已经非常稳定,不再需要每夜构建(nightly builds)技术。这一节将提供尽可能快地安装 JCR 实现并运行它的详细说明。

需要的库

要使用和运行这篇文章中的示例,请将下面这些库放在类路径中:

jackrabbit-core:针对 JSR-170 的 Jackrabbit 内容仓库核心实现和来自 Apache 的公共实用代码。

commons-collections:包含强大数据结构的框架,该框架可以加快 Java 应用程序的开发。

concurrent:这个库提供通常在 Java 并发编程中会遇到的工具类的标准化的、有效率的版本。

derby:一个 Apache 数据库子项目,它提供完全用 Java 语言实现的关系数据库。

jcr:一组符合 JSR-170 规范的接口。

log4j:运行时日志库。

lucene:高性能的全功能文本搜索引擎库。

slf4j (针对 Java 的简单日志 Facade):目的是充当不同日志 API 的简单 facade,允许用户在部署时插入需要的实现。

xerces:高级 XML 解析器,支持 SAX 版本 2、DOM 1 级和 SAX 版本 1 API。

如果用 SVN 构建 Jackrabbit,那么所有这些 JAR 文件都会在 Jackrabbit 构建过程中被下载,并位于 Maven 的缓存目录中。在 Linux 下,这些 JAR 位于主目录的 .maven 目录下。如果使用二进制构建,那么只需要从它们各自的 Web 站点下载其二进制版或浏览 Jackrabbit Web 站点的 “First Hops with Jackrabbit” 即可,那里会提供到所有这些资源的直接链接。在 JSR-170 规范的下载中还有一个 jcr-1.0.jar,在 Java 社区进程的 Web 站点上也可以找到它。

Java Content Repository API简介(3)

时间:2011-06-25 IBM Titus Barik

手工配置

JSR-170 没有确切地指定应当如何获得初始的 Repository 对象;这被留作每个仓库厂商的实现细节。但是,在应用程序中最好使用 JNDI 或其他容器环境中的配置机制,这样可以保持 JSR-170 的实现相对独立于对 Jackrabbit 的直接依赖项。虽然这一策略在初始配置期间造成了额外的复杂性,但它提供了跨不同 JSR-170 实现的更好的移植性。要想获得一个移植性虽然差但得到了简化的配置,可以使用自动配置,详细内容在这篇文章后面部分介绍。

在手工配置中,可以将 JNDI 与配置文件(叫做 repository.xml,以编程方式载入)结合使用来得到仓库。

仓库配置

第一步,也是最容易的一步,就是为 Jackrabbit 创建 repository.xml 文件。这个配置文件实现了许多重要任务。这些任务包括:指定底层的后端存储、访问控制机制、可用的工作区、版本管理系统和搜索子系统。清单 1 提供了一个示例:

清单 1. 示例 repository.xml 配置文件

<?xml version=&q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号