版本控制是Jackrabbit的特色之一,在实际的项目中我们会大量的运用这一功能来区分数据的版本。以下为实例来说明Jackrabbit代码是如何控制版本的。
java 代码
- public static void main(String[] args) {
- // 定义文件库的地址。
- System.setProperty("org.apache.jackrabbit.repository.home", "C:/temp/repository");
- // 建立一个零时的内容库,这种方法只是用于测试使用,商业使用时仍然需要配置Config.xml文件信息。
- Repository repository = new TransientRepository();
- Session session = repository.login(new SimpleCredentials("maqujun",
- "maqujun".toCharArray()));
- // 在根节点下创建子节点。
- Node newNode = session.getRootNode().addNode("NewNode");
- newNode.setProperty("maqujun", "handsome");
- session.save();
- Node newNode = session.getRootNode().addNode("NewNode");
- newNode.addMixin("mix:versionable"); //加入版本控制mix定义。
- node.checkout(); //checkout和checkin为加入版本的操作方法
- newNode.setProperty("maqujun", "handsome");
- session.save();
- node.checkin();
- }