In my project I need to change Jackrabbit 1.3 to Jackrabbit 2.1.1. My work is to work for queries. Please suggest me if there are changes in index format and query format. Lucene 2.4 is used in Jackrabbit 2.1.1 while in Jackrabbit 1.3 Lucene 2.2 is used.
Lets divide your upgrade into the following parts:
Upgrade 1.3 to 1.5 (see Class IndexMigration):
IndexMigration implements a utility that migrates a Jackrabbit 1.4.x index to version 1.5. Until version 1.4.x, indexes used the character '' to separate the name of a property from the value. As of Lucene 2.3 this does not work anymore. See LUCENE-1221. Jackrabbit >= 1.5 uses the character '[' as a separator. Whenever an index is opened from disk, a quick check is run to find out whether a migration is required. See also JCR-1363 for more details.
Upgrade 1.5 to 2.0.0 (see RELEASE-NOTES.txt):
Backwards compatiblity
Jackrabbit 2.0 is designed to be compatible with existing Jackrabbit 1.x clients and repositories. The main exceptions to this goal are:
- Removal of deprecated classes and features. Jackrabbit 2.0 is not backwards compatible with client code that used classes or features that had been deprecated during the 1.x release cycle. Most notably the temporary org.apache.jackrabbit.api.jsr283 interfaces have been removed in favor of the official JCR 2.0 API in javax.jcr.
- Repositories that have used the new JSR 283 security features included as a development preview in Jackrabbit 1.5 and 1.6 may face problems when upgrading to Jackrabbit 2.0. See especially JCR-1944 and JCR-2313 for more details.
- The JCR-RMI layer no longer implements the Jackrabbit API extensions. Code that uses JCR-RMI with distributed transactions or for administration operations like creating workspaces or registering node types needs to be updated accordingly.
- The JCR-RMI layer in Jackrabbit 2.0 only supports JCR 2.0 repositories. To access a JCR 1.0 repository implementation like Jackrabbit 1.x over RMI, you need to use the 1.x versions of JCR-RMI.
Upgrade 2.0.0 to 2.1.1 (2.x branch is positioned to have a stable API):
This is Apache Jackrabbit 2.0.0, a fully compliant and production-ready implementation of the Content Repository for Java Technology API, version 2.0
See also compatibility tables for Jackrabbit and Lucene APIs.
There are multiple ways to migrate from Jackrabbit 1.x to 2.x. Probably the best documentation can be found in the Jackrabbit Wiki, one the Backup and Migration page.
来源:https://stackoverflow.com/questions/4377169/upgrade-jackrabbit-1-3-to-jackrabbit-2-1-1