最近做的工作与Jackrabbit有一定的联系,所以看了一部分Jackrabbit的代码。我的这方面的工作会一直持续,所以有关Jackrabbit的文章也会多写几篇。
从jackrabbit.apache.org把Jackrabbit源代码下载下来,它把各模块分为好几个类包,在本文,我所讲的是Jackrabbit的核心包 jackrabbit-core.
无论你以哪种方式来使用Jackrabbit, jackrabbit-core包必不可少。jackrabbit-core包负责文件的存储,索引的建立。如果有cluster, core包还要负责Jackrabbit集群方面的工作。好,接下来,我们以如下几个主题展开来讲。
1. Node Type : org/apache/jackrabbit/core/nodetype
node type 定义内容的存储格式,众所周知,Jackrabbit是JSR 170 或 JSR 283 JCR 的一个实际。 那么它就要以树状的节点来存储内容,节点下面可以有子节点也可以没有, 节点下面还可以有属性。 属性里面存储文本的或是二进制的内容,在Jackrabbit 里面称之为Value.
Jackrabbit将节点类型定义在一个XML里面, 如下:
下面是摘自 org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml 的一个片断:
从jackrabbit.apache.org把Jackrabbit源代码下载下来,它把各模块分为好几个类包,在本文,我所讲的是Jackrabbit的核心包 jackrabbit-core.
无论你以哪种方式来使用Jackrabbit, jackrabbit-core包必不可少。jackrabbit-core包负责文件的存储,索引的建立。如果有cluster, core包还要负责Jackrabbit集群方面的工作。好,接下来,我们以如下几个主题展开来讲。
1. Node Type : org/apache/jackrabbit/core/nodetype
node type 定义内容的存储格式,众所周知,Jackrabbit是JSR 170 或 JSR 283 JCR 的一个实际。 那么它就要以树状的节点来存储内容,节点下面可以有子节点也可以没有, 节点下面还可以有属性。 属性里面存储文本的或是二进制的内容,在Jackrabbit 里面称之为Value.
Jackrabbit将节点类型定义在一个XML里面, 如下:
下面是摘自 org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml 的一个片断:
<nodeType name="nt:file" isMixin="false" hasOrderableChildNodes="false" primaryItemNam