/ Startseite / Produkt-Tests, Projekte / Blog article: Java Content Repository API (JCR) mit Jackrabbit

RSS

Java Content Repository API (JCR) mit Jackrabbit

19.09.2009 | Kein Kommentar | Kategorie Produkt-Tests, Projekte

In einem aktuellen Projekt habe ich als Herausforderung, eine große Menge an Daten zu speichern, wobei sich das Datenschema häufig ändern kann. In diesem Zusammenhang habe ich die OpenSource-Implementierung ” Jackrabbit” (v1.6.0) des Java Content Repository API (JCR, JSR-170) beispielhaft angebunden.Zu Beginn müssen (wie immer) die abhängigen Bibliotheken eingebunden werden. Dies geschieht einfach per Apache Maven oder per folgender Liste:

  • jackrabbit-core: Die Implementierung des JSR-170 Standards
  • commons-collections: Bekanntes “commons” Paket für Datenstrukturen
  • concurrent: Bibliothek für Concurrent Programming
  • jcr: Die JSR-170 API
  • log4j: Der bekannte Logger
  • slfj4: Simple Logging Facade for Java
  • xerces: XML Parser
  • derby: Wenn der Workspace in einer Datenbank liegen soll.

Auf den Projektseiten von Jackrabbit empfiehlt sich zu Beginn die treffende genannte Seite ” First Hops“, auf der drei einfache Beispiele für die Verwendung des JCR gelistet sind: Der erste “Login”, das Anlegen und Abfragen von Daten und das Importieren einer XML-Quelle. Vor der ersten Verwendung muss aber noch das Repository konfiguriert sein. Jackrabbit sucht standardmäßig im Klassenpfad nach einer Daten namens repository.xml. Auf den Projektseiten lassen sich die Einstellungen genau nachlesen, für den ersten Einsatz empfiehlt sich die Standard-Datei.

Hilfreich für die ersten Sprünge mit Jackrabbit ist auch die IBM-Seite ” Introducing the Java Content Repository API“.

Für mein Projekt hat sich gezeigt, dass der Import von mehreren tausend Knoten mehrere Minuten benötigen und zudem der RAM-Speicherbedarf sehr stark ansteigt. So kam bereits beim Versuch 5.000 Knoten mit je 160 Properties ein Out-Of-Memory — bei 1 GB bereitgestelltem Hauptspeicher.

Wer das JCR für die Verwaltung von Inhalten (Content-Management) einsetzen möchte, kann einen Blick auf das Projekt ” mirage” werfen. Aufbauend auf Jackrabbit und einer Workflow-API bietet Mirrage die Möglichkeit, Content zu verwalten. Wer den Einsatz genauer sehen möchte, kann sich die Content-Management-Portlets des Liferay Portals genauer anschauen. Diese verwenden nämlich “mirage”.

Beitrag kommentieren 1626 Betrachtungen, 1 davon heute

Relevante Beiträge

Geben Sie einen Kommentar zum Beitrag ab


Theme von Blog Oh! blog