【问题标题】:Versioning properties in Jackrabbit/JCR 2.0Jackrabbit/JCR 2.0 中的版本控制属性
【发布时间】:2012-12-02 20:16:15
【问题描述】:

我正在使用 Jackrabbit/JCR 2.0。

想象以下场景:我添加一个节点,然后对其进行签出,编辑一些属性并签入。然后我再做一次。

接下来,我可以在版本历史记录中看到创建了 1.0 和 1.1 版本。我怎样才能让它总是增加 1,例如 1,2,3... 等等?

另外,如果我有 Version 类型的节点,如何获得实际的版本化节点(包含我的数据的节点)?

我如何添加和获取其他一些与版本相关的属性,例如版本的评论或作者(签入的用户)?

【问题讨论】:

    标签: java versioning jackrabbit jcr


    【解决方案1】:

    您必须使用自己的版本号属性,以便您可以随意增加它(尤其是在您未处于简单版本可控制模式的情况下)。 要访问历史版本的历史和属性,您必须使用 VersionHisoty 并使用如下代码获取版本节点:

    VersionHistory history = session.getWorkspace().getVersionManager().getVersionHistory("/my/node/path");
    // To iterate over all versions
    VersionIterator versions = history.getAllVersions();
    while (versions.hasNext()) {
      Version version = versions.nextVersion();
    }
    // Obtain version per name
    Version mySpecificVersion = history.getVersion("myVersion");
    //Obtain version per label
    Version labelisedVersion = history.getVersionByLabel("myLabel");
    String myVersionPropertyValue = labelisedVersion.getFrozenNode().getProperty("myProperty").getString();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多