快速业务通道

Java内容仓库规范及产品介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
简单的凭证对象,进而用这个凭证 获取到MyWorkspace的 Session。对于如何获取Repository和Credentials对象规范中并没有做相关约束, 本示例只是展示了其中一种可能的方式。

Java内容仓库规范及产品介绍(6)

时间:2011-11-11 博客园 镜涛

其它比较常用的接口如下:

Node Session.getRootNode():获取根节点,通过该节点可以访问该Session对象有权限访问的所有节 点

Node Node.getNode(String relPath):通过相对路径获取到某节点

Node Node.addNode(String node):为Node对象添加子节点

Void Node.remove():删除节点对象

Property Node.getProperty(String relPath):通过相对路径获取属性对象

Void Node.setProperty(String name, String value):为Node对象设置属性值

String Property.getString():获取属性对象的值

Value Property.getValue():获取对属性对象值的原类型封装对象

String Value.getString():获取属性值封装对象的实际数据值

Item Session.getItem(String abspath):通过绝对路径直接定位到某节点对象

Void Session.save():持久化Session对象

Node Session.getNodeByUUID(String uuid):通过全局唯一定位符直接定位到有唯一定位符的节点对 象

下面的代码展示了如何使用上述接口:

// 获取根节点 Node root = mySession.getRootNode(); // 定位到某节点  Node myNode = root.getNode("a/e"); // 获取到某个节点的属性 Property myProperty = myNode.getProperty("k"); // 获取属性节点的值 Value myValue = myProperty.getValue(); // 将属性值转换成特定的格式,此处myDouble的值会是6.022 x 10^23 double myDouble = myValue.getDouble(); // 直接获取到值为6.022 x 10^23的属性k Property myProperty =(Property)mySession.getItem("/a/e/k"); // 假设节点/a/e是可访问的,并且定位符为:1111 2222 3333 4444,通过以下代码可以//得到e 节点对象 Node myNode = mySession.getNodeByUUID("1111 2222 3333 4444");

在对节点或者属性做变动的时候,需要注意以下几点:

a)Node和Property发生的改变不会立即持久化到工作空间中,而是暂时存储在Session对象中,直到这 些变动被保存或者放弃。可以通过Session或Item对象的save方法保存更改,通过refresh(false)方法来 取消更改;Session对象的save方法和 refresh方法会持久化或者放弃与当前session相关的所有改变,而 Item的相关方法则只会持久化或者放弃与特定节点相关的改动。在改变被保存之后,其它访问该工作空间 的Session便可以发现这些变动。没有被持久化的更改在当前Session对象中是立即生效的,但是却不会被 其它访问该工作空间的Session对象察觉。

b)上面所描述的情况是在没有事务的情况下,如果save或refresh方法在一个事务域中,那么调用save 之后,变动也不会立即对其它访问该工作空间的Session对象可见,而是在事务提交之后才会对其它 Session可见。同时没有调用save方法的变动不会在事务中提交。

Java内容仓库规范及产品介绍(7)

时间:2011-11-11 博客园 镜涛

JCR模块实现

Spring中含有一个JCR模块,它的主要目标是以一种类似Spring ORM包的方式,简化使用JSR-170 API 开发应用程序。特点如下:

a)JcrTemplate:它是JCR模块的核心类之一,它提供了与JCR会话一起工作的方便方法,将调用者从必 须处理的打开和关闭会话、事务回滚(如果底层仓库提供)、以及处理其它特性中的异常等工作中解放出 来。它实现了JCR Session的绝大部分方法,允许执行 JcrCallback和异常处理。

b)RepositoryFactoryBean:用于配置、启动和停止仓库实例。支

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号