Java Content Repository API 简介

Java Content Repository API 简介

ID:42562121

大小:55.42 KB

页数:14页

时间:2019-09-17

Java Content Repository API 简介_第1页
Java Content Repository API 简介_第2页
Java Content Repository API 简介_第3页
Java Content Repository API 简介_第4页
Java Content Repository API 简介_第5页
资源描述:

《Java Content Repository API 简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaContentRepositoryAPI简介仓库模型我先从对仓库模型的高级讨论开始,以便让您熟悉JCR。仓库模型是简单的层次结构,看起来就像一个有n个分叉的树。它由单一内容仓库构成,有一个或多个工作区。(这篇文章中的讨论仅限制于单一工作区。)每个工作区都包含一个项目 树;项目既可以是节点 也可以是属性。节点可以有零个或多个子节点以及零个或多个相关属性,实际的内容保存在子节点和属性中。每个节点都有且只有一个主节点类型。主节点类型定义了节点的特征,例如允许节点拥有的属性和子节点。除了主节点类型之外,节点还可以

2、有一个或多个混合(mixin)类型。混合类型更像修饰器,向节点提供额外的特征。具体来说,JCR实现可以提供三种预定义混合类型:·mix:versionable:允许节点支持版本管理·mix:lockable:支持节点的锁定功能·mix:referenceable:提供自动创建的 jcr:uuid 属性,给节点一个惟一可以引用的标识符这个结构如图1所示。圆圈代表节点,矩形代表属性。请参见节点A、B和C,它们都衍生自一个根节点。节点A有两个属性,即一个字符串“John”和一个整数22。图1.有多个工作区的仓库模型预定

3、义的节点类型每个仓库都必须支持主节点类型 nt:base。仓库还可以支持其他许多公共节点类型:·nt:unstructured 是最灵活的节点类型。它允许使用任意数量的子节点或属性,并且可以使用任意名称。这个节点类型表示JCRWiki的条目。·nt:file 表示文件。它需要一个叫做 jcr:content 的单一子节点。这个节点类型表示JCRWiki条目中的图片和其他二进制内容。·nt:folder 节点类型可以表示文件夹,就像常规的文件系统中的文件夹一样。·nt:resource 通常表示文件的实际内容。·n

4、t:version 是支持版本管理的仓库所必需的节点类型。整个节点类型的结构可以在JSR-170规范的6.7.22.1小节找到(请参阅 参考资料 获得链接)。名称空间仓库模型一个有用的却经常被忽视的特性就是它对名称空间 的支持。名称空间防止不同来源和不同应用程序域之间的项目和节点类型的命名冲突。名称空间被定义为带有一个前缀,中间用一个 : (冒号)分隔。在这篇文章的教程中,已经遇到了一些名称空间:jcr 用于JCR的内部属性,mix 用于混合类型,nt 用于节点类型。在JCRWiki中,所有的数据都将使用 wik

5、i 名称空间。回页首安装JCR在编写这篇文章的时候,ApacheJackrabbit(即Apache基金会的JSR-170的开源实现)的发行版已经到了版本1.0。编译好的字节码JAR可以直接从JackrabbitWeb站点下载(请参阅 参考资料)。虽然Jackrabbitcan仍然可以用SVN从源代码进行编译,但是Jackrabbit库已经非常稳定,不再需要每夜构建(nightlybuilds)技术。这一节将提供尽可能快地安装JCR实现并运行它的详细说明。需要的库要使用和运行这篇文章中的示例,请将下面这些库放在类

6、路径中:·jackrabbit-core:针对JSR-170的Jackrabbit内容仓库核心实现和来自Apache的公共实用代码。·commons-collections:包含强大数据结构的框架,该框架可以加快Java应用程序的开发。·concurrent:这个库提供通常在Java并发编程中会遇到的工具类的标准化的、有效率的版本。·derby:一个Apache数据库子项目,它提供完全用Java语言实现的关系数据库。·jcr:一组符合JSR-170规范的接口。·log4j:运行时日志库。·lucene:高性能的全

7、功能文本搜索引擎库。·slf4j (针对Java的简单日志Facade):目的是充当不同日志API的简单facade,允许用户在部署时插入需要的实现。·xerces:高级XML解析器,支持SAX版本2、DOM1级和SAX版本1API。如果用SVN构建Jackrabbit,那么所有这些JAR文件都会在Jackrabbit构建过程中被下载,并位于Maven的缓存目录中。在Linux下,这些JAR位于主目录的.maven目录下。如果使用二进制构建,那么只需要从它们各自的Web站点下载其二进制版或浏览Jackrabbit

8、Web站点的“FirstHopswithJackrabbit”即可,那里会提供到所有这些资源的直接链接。在JSR-170规范的下载中还有一个jcr-1.0.jar,在Java社区进程的Web站点上也可以找到它。回页首手工配置JSR-170没有确切地指定应当如何获得初始的 Repository 对象;这被留作每个仓库厂商的实现细节。但是,在应用程序中最好使用JNDI或其他容

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。