Java内容仓库规范及产品介绍 - 编程入门网
简单的凭证对象,进而用这个凭证 获取到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):通过全局唯一定位符直接定位到有唯一定位符的节点对 象 下面的代码展示了如何使用上述接口:
在对节点或者属性做变动的时候,需要注意以下几点: 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |