When running Apache Jackrabbit JCR as an embedded service in your app, is there a quick way to get a sound and consistent backup of the contents of the Jackrabbit repository without shutting Jackrabbit down? If so how?
To get started with Jackrabbit you should first become familiar with the JCR API. Download the JSR 170 specification, browse the API documentation, check our introduction to JCR levels, or read some of the JCR articles to understand the content repository model that Jackrabbit implements.
The easiest way to access a Jackrabbit repository over RMI is to use the RMI endpoint that the Jackrabbit standalone jar exposes at http://localhost:8080/rmi.
You need Java version 5 or higher to run the Jackrabbit standalone server. To start the server, double-click on the standalone jar file, or invoke it on the command line. Welcome to Apache Jackrabbit! Goodbye from Apache Jackrabbit!
See BackupAndMigration on the Jackrabbit Wiki for a list of options.
I would recommend to use XML export (system view), as it is the simplest solution. Also, because it is part of the JCR standard, so it should work on other JCR implementations as well.
Note that this approach has one drawback: it is currently not possible to re-import a full export, ie. from the root node and including the jcr:system subnode that contains the version storage, since the jcr:system part and especially the version storage are not writeable (this is mainly because JCR does not specify how to import versions). Here is some explanation on the Jackrabbit mailing list.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With