将Jackrabbit 1.3升级到Jackrabbit 2.1.1

时间:2010-12-07 13:36:47

标签: java upgrade backwards-compatibility lucene jackrabbit

在我的项目中,我需要将Jackrabbit 1.3更改为Jackrabbit 2.1.1。我的工作是为查询工作。如果索引格式和查询格式有变化,请建议我。 Lucene 2.4用于Jackrabbit 2.1.1,而使用Jackrabbit 1.3则使用Lucene 2.2。

2 个答案:

答案 0 :(得分:2)

让您将升级分为以下几部分:

  • 升级1.3到1.5(见Class IndexMigration):

      

    IndexMigration实现了一个将Jackrabbit 1.4.x索引迁移到1.5版的实用程序。在版本1.4.x之前,索引使用字符''将属性名称与值分开。从Lucene 2.3开始,这不再适用了。见LUCENE-1221。 Jackrabbit> = 1.5使用字符'['作为分隔符。每当从磁盘打开索引时,都会运行快速检查以确定是否需要迁移。有关详细信息,另请参阅JCR-1363。

  • 升级1.5到2.0.0(参见RELEASE-NOTES.txt):

      

    向后兼容性

         

    Jackrabbit 2.0 旨在与现有的Jackrabbit兼容   1.x客户端和存储库。此目标的主要例外是:

         
        
    • 删除已弃用的类和功能。 Jackrabbit 2.0不是   向后兼容使用类或功能的客户端代码   在1.x发布周期中已弃用。最为显着地   临时的org.apache.jackrabbit.api.jsr283接口已经存在   删除了javax.jcr中的官方JCR 2.0 API。
    •   
    • 包含新JSR 283安全功能的存储库   作为Jackrabbit 1.5和1.6的开发预览可能会遇到问题   升级到Jackrabbit 2.0时。请特别注意JCR-1944JCR-2313   了解更多详情。
    •   
    • JCR-RMI层不再实现Jackrabbit API扩展。   将JCR-RMI用于分布式事务或用于管理的代码   创建工作区或注册节点类型等操作需要   相应更新。
    •   
    • Jackrabbit 2.0中的JCR-RMI层仅支持JCR 2.0存储库。   访问像Jackrabbit 1.x一样的JCR 1.0存储库实现   RMI,您需要使用1.x版本的JCR-RMI。
    •   
  • 将2.0.0升级到2.1.1(2.x分支定位为具有稳定的API):

      

    这是Apache Jackrabbit 2.0.0,完全合规并且可以投入生产   实现Java Technology API的内容存储库,版本2.0

另请参阅JackrabbitLucene API的兼容性表。

答案 1 :(得分:0)

有多种方法可以从Jackrabbit 1.x迁移到2.x.可能在Jackrabbit WikiBackup and Migration页面中找到了最好的文档。