JCR中的观察机制

JCR提供观察机制, 目的是在Item变化时(包括节点和属性),客户可以得到通知,从而作出相应的反应. JCR专门有一个包: javax.jcr.observation. 它包含5个接口:
  1. Event: 事件,支持5种事件类型: 节点的增加和删除,属性的增加,删除和改变. 事件类有三个方法,分别是getPath()返回和这个事件相连的项目(可能是节点,也可能是属性)的绝对路径,getType()返回事件类型,getUserID()返回和这个事件相连的用户ID字符串(通过引起这个事件的会话的getUserID方法)
  2. EventIterator, 事件的Iterator
  3. EventListener, 事件监听器. 通过观察管理器来注册事件监听器, 事件监听器是异步的,只有事件发生并且事务已经提交了,事件监听器才能看见事件.当然事件监听器能否看见事件还取决于它注册的会话和是否有足够的相应的权限. 需要注意的是监听器的范围是每个Workspace,而不是整个仓库.他们仅仅接受他们注册的Workspace内发生的事件.当一个持久性的变化发生时,仓库调用每个监听器的onEvent方法, 注意每个监听器可以有过滤器来决定监听何种事件. 这个方法通过EventIterator对象接受到事件通知. EventIterator对象包含一系列事件(当然也要过滤),描述了对整个Workspace作出的持久性变化.
  4. ObservationManager观察管理器: 这个最重要. 通过Workspace.getObservationManager()方法从Workspace对象处获得观察管理器.通过ObservationManager添加,删除事件监听器.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值