DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Apache Jackrabbit 2.0 Fully Compliant with JCR 2.0

Apache Jackrabbit 2.0 Fully Compliant with JCR 2.0

Mitch Pronschinske user avatar by
Mitch Pronschinske
·
Jan. 27, 10 · Java Zone · Interview
Like (0)
Save
Tweet
12.44K Views

Join the DZone community and get the full member experience.

Join For Free
The Apache Jackrabbit project is now a fully conforming and production-ready implementation of the Java Content Repository 2.0 API with the release of version 2.0 today.  After releasing the first alpha version of Jackrabbit 2.0 in June 2009, the Jackrabbit developers have finally reached their goal of implementing all of the required features in the JSR 170 and JSR 283 specs, which constitute the JCR 2.0 API.  The Jackrabbit committers have also added support for a subset of JCR 2.0 on Jackrabbit 2.0's remote access layers: RMI and WebDAV.  

Apache Jackrabbit 2.0 is now updated to require Java 5 or higher.  Many general-purpose JCR components like OCM are now developed and released separately from the Jackrabbit content repository for better re-usability.  For all database back-ends, database connection pooling is now available, and a local data store feature is now enabled in the default repository configuration.  

Jackrabbit 2.0 can now extract and index the content of several new types of documents thanks to integration with Apache Tika, a subproject of Lucene.  For example, the Office Open XML files produced by Microsoft Office 2007 can now be indexed.  Also, the OracleFileSystem class no longer uses special blob handling since it's not required for versions of Oracle higher than 10R1.  The Oracle9FileSystem class can be used if you need support for Oracle 9 or earlier.

Version 2.0 is backwards compatible with 1.x installations, but the depreciated classes and features have been removed.  Repositories that used the security features of Jackrabbit 1.5 and 1.6 should take a look at JCR-1944 and JCR-2313 before upgrading since there have been some changes to the JCR-RMI layer.  A subset of JCR 2.0 is now supported on the RMI and WebDAV layers for Jackrabbit 2.0

Full JCR 2.0 support in the RMI and WebDav remoting layers is the next step for the Jackrabbit developers.  After achieving full JCR 2.0 support in Jackrabbit 2.0, the upcoming goals on their roadmap also include transactional versioning, hot backup, and full XPath.  Long term goals for the next major release, Jackrabbit 3.0, include NGP support (or something similar) and JDBC over JCR.

                                                 Jackrabbit SPI


Jackrabbit uses it's own specific functionality for creating new workspaces since the JCR API does not contain features for doing so.  You can create a new workspace either manually or programmatically, says the Jackrabbit FAQ:

"The manual way is to create a new workspace directory within the repository home directory and to place a new workspace.xml configuration file in that folder. You can use the configuration file of an existing workspace as an example, just remember to change the name of the workspace in the Workspace name="..." tag. See the Jackrabbit Configuration page for configuration details. Note also that you need to restart the repository instance to access the new workspace."

There are also instructions for deploying Jackrabbit into Tomcat:
  • Download jcr-1.0.jar and put it into <tomcat-install-dir>/shared/lib
  • Get the WAR distribution from the Downloads page and deploy it into Tomcat
  • Point your browser to http://localhost:8080/jackrabbit-webapp-<version>/

Click here to download Apache Jackrabbit 2.0 and then learn how to build Jackrabbit here.
Apache Jackrabbit

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Datafaker: An Alternative to Using Production Data
  • How to Determine if Microservices Architecture Is Right for Your Business
  • Debugging Deadlocks and Race Conditions
  • Java: Why Core-to-Core Latency Matters

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo