
Java Content Repository
文章平均质量分 65
Francis-Yu
这个作者很懒,什么都没留下…
展开
-
jackrabbit in Action one
Jcr : Java Content Repository --- java 内容仓库。 话说很久以前,江湖上出了一个叫作jcr的兵器,这个东西呢确实有那么一点点的用处,于是他们就在小众的圈子里开始流行,于是各门各派都开发出来属于自己的jcr,但是后来发现,问题来了,由于各门派都有自己的jcr,使得俺们这些小程序员需要不停的学习各个jcr的api。显然这个时候需要盟主出来贡献点力量,于是,转载 2012-02-10 09:45:50 · 1034 阅读 · 0 评论 -
什么是JAVA内容仓库(Java Content Repository)(2)
内容仓库模型 JSR-170 是这样定义内容仓库的,内容仓库由一组 workspace(工作空间)组成,这些workspace通常应该包含相似的内容。一个内容仓库有一个到多个 workspace。每个workspace都是一个树状结构,都有一个唯一的树根节点(root node)。树上的item(元素)或者是个node(节点)或者是个property(属性)。每个node都可以有零个到多个子节转载 2012-02-10 17:24:04 · 4191 阅读 · 0 评论 -
什么是JAVA内容仓库(Java Content Repository)(4)
获得列表 在上一步中我们已经把数据保存到了内容仓库中,那我们如何确定数据确实保存进去了呢?getBlogList() 这个方法将返回根节点下所有名为blogEntry.的子节点。public ArrayList getBlogList() throws BlogApplicationException { Session session = JackrabbitPlugin.get转载 2012-02-10 17:29:54 · 1128 阅读 · 0 评论 -
JCR:定制节点类型
JCR内置定义了几种节点类型:Mixin types:mix:lockablemix:referenceablemix:versionablePrimary types:nt:base (the base type of all other node types)nt:unstructurednt:原创 2012-02-14 17:36:43 · 1398 阅读 · 0 评论 -
Jackrabbit的简单节点定义文件格式
Jackrabbit能够让开发者制定自己的节点类型, 应用程序能够在启动的时候读取节点类型定义文件,加载节点定义.下面是一个简单的说明:说明 /* Jackrabbit 节点类型定义说明 */ // 名域的声明. 下面声明了一个名域ns,值为http://namespace.com/ns // 节点类型的名字, 这里是声明一个名字为NodeType的节点类型,ns为其名域原创 2012-02-14 17:37:45 · 1331 阅读 · 0 评论 -
Jackrabbit OCM(二)——ObjectContentManager对象
上一篇文档中已提到过ObjectContentManager对象是OCM框架对外提供的非常重要的API,通过它可以完成如下功能:一、Jackrabbit CURD操作:在Hinbernate框架中,数据库的CURD操作主要通过Session对象来完成,ObjectContentManager对象提供了类似于Session的相关方法,来操纵jackrabbit的存储结构,包括:转载 2012-02-17 15:07:08 · 968 阅读 · 0 评论 -
jackrabbit OCM(一)
OCM是Object Content Mapping的缩写,同Hibenrate的ORM功能类似,Jackrabbit提供了OCM的功能,只不过所映射的对象不是数据库表格,而是jcr节点,可以让我们以操作对象的方式来更新Jackrabbit存储结构。Jackrabbit的OCM功能目前也仍处于修订状态,并且从1.5版本之后没有纳入API文档范围之内。针对JCR2.0的版本实现可以在这个网址转载 2012-02-17 15:06:12 · 1012 阅读 · 0 评论 -
jackrabbit OCM(三)——映射应用1
针对不同的Jackrabbit存储结构,OCM有不同的映射处理方式,假设Jackrabbit存储结构如下:Book节点拥有一个Author子节点表示作者,和多个Category子节点表示类别基于这种存储结构,Book实体和Author及Category实体之间是聚合引用的关系,删除Book实体的同时,它所包含的Author及Catogory实体也一并删除第一篇文档中已提到过,在做O翻译 2012-02-17 15:08:26 · 897 阅读 · 0 评论 -
Apache Jackrabbit发布1.4版本
Apache Jackrabbit是一个完全遵守Java API版的内容存储规范(JCR)的实现,在经历9个多月的辛苦工作后它发布了1.4版本。在版本注释中,包含有220个新的特性、改进和对1.3版本的bug修补,这使得1.4版本成为目前最为完整的一个版本。Jukka Zitting特别提到了一些1.4的新特性:更加友好的Jackrabbit Web应用。现在的jackrabb原创 2012-02-21 14:33:05 · 912 阅读 · 0 评论 -
jackrabbit中用xpath进行搜索
jackrabbit支持XPATH与SQL查询:对于XPATH查询它添加了一些新的函数,主要用到的我看就是这两个:element(nodeName,nodeType)用于选取某类型的节点,其中nodeName可以用*代替,表示选取所有此类型的节点jcr:contains(propertyName,'value')用于选取具有某属性且值为什么的节点,propertyName可以用.代替表原创 2012-03-29 17:32:11 · 1803 阅读 · 0 评论 -
jackrabbit中Xpath的用法
smiky20boy欧阳疯24girl*XPath的七种节点类型:*元素,属性,文本,文档节点(即根节点),命名空间,注释,处理指令**节点关系:*父、子、兄弟、先辈、后代**Xpath常用符号:*/ 从根节点开始选*// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 (example://name,会选择两个原创 2012-03-29 17:30:59 · 1511 阅读 · 0 评论 -
开源爬虫Labin,Nutch,Neritrix介绍和对比
11从网上找了一些开源spider的相关资料,整理在下面: -----------------------------------------------------------------------------------**************Larbin开发语言:C++http://larbin.sourc原创 2012-03-30 15:12:55 · 981 阅读 · 0 评论 -
jcr Overview
1.persistent WorkspaceA JCR repositoryis composed of one or more persistent workspaces,each consisting of a directed acyclic graph of items where the edges represent the parent-child relation.2.原创 2012-06-12 11:15:54 · 918 阅读 · 0 评论 -
什么是JAVA内容仓库(Java Content Repository)(1)
JSR-170把自己定义为一个能与内容仓库互相访问的,独立的,标准的方式。同时它也对内容仓库做出了自己的定义,它认为内容仓库是一个高级的信息管理系统,该系统是是传统的数据仓库的扩展,它提供了诸如版本控制、全文检索,访问控制,内容分类、访问控制、内容事件监视等内容服务。Java Content Repository API(JSR-170)试图建立一套标准的API去访问内容仓库。如果你对内转载 2012-02-10 17:23:15 · 1323 阅读 · 0 评论 -
使用 Java Content Repository 技术打造企业级内容管理系统
内容管理系统的基本功能和 IBM ECM 的数据模型内容管理系统的基本功能随着 IT 应用的深入普及,各种企业都积累了大量的信息资源 , 在一些诸如政府、电信、金融、媒体等以内容为其主要核心业务的行业中,内容数据已成为关键性资产。科学管理和合理开发这些内容信息资源已经成为企业正确决策、增强竞争力的关键。企业内容管理系统是一种管理、集成和访问各种格式的内容数据的应用软件,它的主要目标是使转载 2012-02-10 16:50:44 · 1855 阅读 · 0 评论 -
jackrabbit in action three(索引概览)
任何一个数据库都离不开一个技术----索引技术,jackrabbit作为内容仓库的开源实现亦不能例外,从前面的文章中我们已经清楚的知道jackrabbit使用lucene来进行索引任务和查询任务。而查询正是基于索引,所以在本文中,ahuaxuan将和大家一起来学习jackrabbit中建立索引的方法。事实上,jackrabbit中建立索引的流程是比较冗长和复杂的,如同query一样,在转载 2012-02-10 09:52:23 · 955 阅读 · 0 评论 -
jackrabbit in action four( 创建 document)
在上一篇文章中,ahuaxuan描述了jackrabbit中创建index的主体流程,同时也曾提到,在创建流程中有一个方法非常重要,它影响着整个query体系,这个方法便是createDocument。在本文中,ahuaxuan将和大家一起来探讨如何根据一个node来创建对应的document。二话不说,直接切入正题,让我们首先来看看SearchIndex#createDocument转载 2012-02-10 09:55:51 · 1014 阅读 · 0 评论 -
jackrabbit in action six(文本提取(上))
用lucene作过索引的同学一定对文本提取不会陌生,但凡有binary需要作索引的地方,那就离不开文本的提取,而jackrabbit是可以存储二进制数据的,而这些二进制数据中包含的文本也是需要被搜索到的,所以jackrabbit里建索引的过程中自然离不开文本提取。那么看到本文的标题,有经验的同学一定会问,前面都已经讲过索引的提交了,为什么到现在才讲文本提取呢。要回答这个问题,我们必须来回顾转载 2012-02-10 10:00:37 · 1019 阅读 · 0 评论 -
jackrabbit in action six(文本提取(下))
接上文,说到文本提取,在上一篇文章中,我们是管中窥豹,并没有把握住整体的流程,那么这篇文章就是用来弥补上一篇文章的不足的。 我们已经明确的知道,有一个队列,它的名字叫indexingqueue,它中存放的是待提取的document,下面我们就来看看它的生产者是谁: 1. 生产者我们在前面的文章中提到过,VolatileIndex(内存数据)的转载 2012-02-10 10:01:50 · 734 阅读 · 0 评论 -
jackrabbit in action seven(索引合并(上))
我们从文本提取的逻辑中走出来,回到主体流程。 在前面的文章中,我们可以看到一次索引创建的操作,可能会产生多个 persistentindex 对象,而这些对象其实代表着一个索引目录。随着创建索引的次数越来越多,那么索引目录也在增多,但是索引目录中的数据却不是很多,所以我们需要把多个目录合并,其实也就是索引的合并。 执行这个操作的类是 IndexMerger ,看其定义为:cl转载 2012-02-10 10:12:49 · 847 阅读 · 0 评论 -
jackrabbit in action seven(索引合并(下) )
在上文中,ahuaxuan讲到了索引创建的主体流程,但是索引合并其实还有一个较为重要的细节ahuaxuan没有详细阐述。本文中,ahuaxuan将会详细阐述这个问题 本文分成两部分内容 1 考虑应用拓机时的数据正确性问题。 2 jackrabbit是如何解决这些问题的。 而这个细节将会直接影响我们转载 2012-02-10 10:21:22 · 739 阅读 · 0 评论 -
什么是JAVA内容仓库(Java Content Repository)(3)
开发我们的例子程序 jackrabbit已经配置好了,现在让我们来创建我们的示例程序。这个例子程序将调用JCR-170 API。很显然,我们需要做两件事情:一个是作为后台的对数据进行增删改查(持久层),另一个是开发相对应的UI界面(WEB 层)。首先,让我们定义一个DAO接口。这个接口BlogEntryDAO.java 如下:public interface BlogEntryDAO {转载 2012-02-10 17:27:13 · 1190 阅读 · 0 评论 -
jackrabbit in action two(查询概览 )
查询进阶 在第一篇文章的例子中,我们看到jackrabbit中存放数据的流程还是比较清晰的,而且我们也基本确定了其中数据的存储方式,一颗m叉树。 正如db一样,insert都是看上去相对简单的,select相对总是没有这么简单的,如同关系数据库一样,jackrabbit中查询也有类似的流程,一般来说分成三个部分:1解析查询语句,2查询,3返回结果。这个应该是一个比较通用的模型。Jack转载 2012-02-10 09:48:38 · 1531 阅读 · 0 评论 -
jackrabbit in action five(索引提交(上) )
在上上篇文章中,我们了解了创建索引的一般流程,在上篇文章中,我们也已经明确的知道,一个node的哪些信息是需要加入到索引中去的,也就是jackrabbit是如何来创建document的。那么接下来我们就是要了解jackrabbit是如何把这些document加入到索引文件中去的。接下来我们需要回顾一下索引概览中的最后几句话:那么代码的主要逻辑在哪里呢?在DeleteNode和Add转载 2012-02-10 09:58:31 · 825 阅读 · 0 评论 -
jackrabbit in action five( 索引提交(下))
接上文,在上面一篇文章中,我们谈到了update中的Delete和Add下面我们来谈谈第三个大问题,就是flush的逻辑3 什么是flush大家可能已经沉浸于AddNode逻辑而不能自拔了,清醒一点,我们再次回到MultiIndex#update看看,有这么一段代码:if (flush) { flush(); }转载 2012-02-10 09:59:43 · 768 阅读 · 0 评论 -
Java Content Repository API 简介
简介: 随着内容管理应用程序的日益普及,对于公共的、标准的内容仓库 API 的需求也变得渐渐明显起来。Content Repository for Java ™ Technology API(JSR-170)的目标就是提供这样一个接口。在这篇文章中,我将用开放源码的 JSR-170 实现 Apache Jackrabbit,设计一个简单的类似维京百科全书的后端,研究这个前途远大的框架所提供的特性。转载 2012-02-10 15:58:07 · 1291 阅读 · 0 评论 -
CompareTo Semantics
For the property types other than BOOLEAN, NAME, PATH and BINARY, comparison relationsare defined in terms of the result of the compareTo method oninstances V1 and V2 of the Java classcorresponding to原创 2012-06-12 15:54:45 · 851 阅读 · 0 评论