首页 > 编程语言 >什么是JAVA内容仓库(Java Content Repository)

什么是JAVA内容仓库(Java Content Repository)

时间:2023-07-02 13:03:17浏览次数:54  
标签:JAVA Repository Level 仓库 Content 内容 JackRabbit property 节点


内容仓库模型


JSR-170 是这样定义内容仓库的,内容仓库由一组 workspace(工作空间)组成,这些workspace通常应该包含相似的内容。一个内容仓库有一个到多个 workspace。每个workspace都是一个树状结构,都有一个唯一的树根节点(root node)。树上的item(元素)或者是个node(节点)或者是个property(属性)。每个node都可以有零个到多个子节点和零个到多个子属性。只有根节点没有父节点,其余所有的节点都有一个父节点。property 也必须有一个父节点,但它没有子节点或是子属性,property 是叶子元素。property是真正存储数据的元素。



下图描述了一个blog应用程序的内容仓库模型。每个root node(根节点)的子节点都代表了一个blog实体。与这个blog实体有关的数据都存储在 bolgEntry 节点的属性里,其中一个 blogAttachment property 存储了一个二进制图片文件。


什么是JAVA内容仓库(Java Content Repository)_扩展


根据内容仓库实现的功能,JSR-170定义了三种级别:


Level 1:定义了一个只读的内容仓库。功能包括读取内容,将内容导出为XML和查找内容。


Level 2:定义了可写的内容仓库。Level 2是Level 1的扩展,新增的功能包括往内容仓库里写入内容,和从XML导入数据到仓库。


Advanced options:定义实现五种附加功能,版本控制、JTA、SQL查询、清晰的内容锁定和监视。



什么是Apache JackRabbit?


Apache JackRabbit是一个开放源码的JSR-170 实现,实现了Level 2,但它还有许多扩展的功能。详细可以去它的官方网站。



下面我们决定用Apache JackRabbit来作为我们示例程序的内容仓库。



如何配置Apache JackRabbit


JackRabbit需要两个参数来配置一个内容仓库实例。


1.内容仓库主目录:这个文件目录下通常包含了所有的内容,搜索索引,内部配置文件和其他持久化信息。它的结构看起来会像下面这个样子:

标签:JAVA,Repository,Level,仓库,Content,内容,JackRabbit,property,节点
From: https://blog.51cto.com/u_16174476/6604491

相关文章

  • JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
    使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError:net/sf/ezmorph/Morpher是因为需要的类没有找到,一般,是因为少导入了JAR包,使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-bean......
  • 深入探究Java中的Map数据结构
    引言:在Java编程中,Map是一种重要的数据结构,它提供了键值对的存储和检索功能。在本篇博客文章中,我们将深入探究Java中的Map,包括不同实现类的比较,常见的用法和一些高级技巧。通过深入理解Map的内部机制和使用方法,你将能够更好地应用它解决实际问题。一、Map概述Map是Java中的一个接......
  • Java学习——数组
    数组一、数组的定义Java语言中提供的数组是用来存储固定大小的同类型元素。二、数组声明和创建1.声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[]arrayRefVar;//首选的方法或dataTypearrayRefVar[];//效果相同,......
  • Java主流jdk发行版有哪些?
    Java的特点是百花齐放,不像c#或者go只有一家主导。oraclejdk收费了,没关系,不是只有它可用。java还有很多免费的主流的jdk发行版,记录下来备忘。OpenJDK-官方网站-源代码-文档-下载地址OpenJDK是其他所有jdk发行版的基础,可以用于开发和测试,但不建议将它用于Java生产环......
  • java.net.BindException: Address already in use: JVM_Bind <null> 的解决方案
    问题描述在学习SSM整合中,启用Tomcat插件时出现以下错误java.net.BindException:Addressalreadyinuse:JVM_Bind<null>通过查阅资料发现是端口被占用了解决方案通过命令查看进程,这里我的是8080端口号被占用了netstat-ano再运行命令去杀死占用端口进程taskk......
  • java中NaN是什么意思
    NaN,是NotaNumber的缩写。NaN用于处理计算中出现的错误情况,比如0.0除以0.0或者求负数的平方根。由上面的表中可以看出,对于单精度浮点数,NaN表示为指数为emax+1=128(指数域全为1),且尾数域不等于零的浮点数。IEEE标准没有要求具体的尾数域,所以NaN实际上不是一个,而是......
  • JavaScript逻辑运算符AND和OR之间的区别
    AND&&和OR||是JavaScript中的逻辑运算符,可用于执行不同的逻辑表达式。在这篇文章中,我将解释它们之间的区别。本文的目标是让您了解这些运算符的工作原理以及它们的不同之处。要理解这些运算符,了解JavaScript中真值和假值的概念非常重要。(更|多优质内|容:java567点c0m) ......
  • Java中类 DefaultTableModel 的概念
    columnIdentifiers          Vector,由多个列标识符组成dataVector          Vector,由包含多个 Object 值的 Vector 组成。一个DefaultTableModel 就是一个二维表,以下是使用函数:DefaultTableModel()构造默认的DefaultTableModel,它是一个零......
  • Java第一周学习
    6.25周天事项:开始着手java的初步学习计划,跟随B站博主韩顺平0基础开始学习问题:Java作为一门新入手的语言不同于c/c++的学习方式,起初理解不容易6.26周一事项:开始进入正常java课程的学习,预计完成Java语言编程和操作环境在本机上的安装问题:安装环境相对c/c++较为复杂,hellow......
  • Java官方笔记13集合
    StoringDataTheCollectionsFrameworkisthemostwidelyusedAPIoftheJDK.集合不是数据类型,它是JDK的API,可以用来存储数据等,相当于数据结构。theCollectionsFrameworkisasetofinterfacesthatmodelsdifferentwayofstoringdataindifferenttypesofco......