2012-04-27 8 views
8

In unserem Projekt verwenden wir Jackrabbit mit Feder und Tomcat, um PDF-Dateien zu verwalten.Verwenden von Dateisystem anstelle von Datenbank zum Speichern von PDF-Dateien in Jackrabbit

Derzeit wird MySql-Datenbank verwendet, um Blob-Dateien zu speichern (in Bezug auf Jackrabbit heißt es BundleDbPersistenceManager).

Sobald die Anzahl der generierten Dateien anwächst, denken wir daran, das Dateisystem anstelle der Datenbank zu verwenden, um die Leistung zu steigern und den Replikationsaufwand zu reduzieren. Im spec hasen Team empfehlen BundleFsPersistenceManager stattdessen verwenden, aber mit Kommentaren wie diese

Nicht in Produktionsumgebungen eingesetzt werden sollte (mit Ausnahme der schreibgeschützten verwendet)

Hat keine Erfahrung jemand mit BundleFsPersistenceManager und können beliebige Ressourcen auf schmerzlose Migration von Blobs in MySQL-Datenbank auf Dateien im Dateisystem verweisen?

Vielen Dank im Voraus

+1

_Aucune idée._ Aber beachten Sie, dass es nett wäre, Antworten auf Ihre anderen Fragen zu akzeptieren, bevor Sie neue Fragen stellen. –

+0

das stimmt, aktualisierte Fragen, die ich in Erwägung ziehe, passende Antworten zu haben. danke – basilboli

Antwort

2

Persistenz in Hase ist ein bisschen kompliziert, ist es sinnvoll, die configuration overview documentation zuerst zu lesen macht.

In Jackrabbit werden Binärdateien standardmäßig in der data store gespeichert und nicht in der persistence manager. Auch wenn Sie die BundleDbPersistenceManager verwenden, werden große Binärdateien im Datenspeicher gespeichert. Sie können die (Standard) FileDataStore mit der BundleDbPersistenceManager kombinieren.

Ich würde empfehlen, nicht verwenden Sie den BundleFsPersistenceManager, weil Daten sehr leicht beschädigt werden können, wenn das Programm während des Schreibens getötet wird.

+0

danke. Ich bin richtig, dass im Falle von FileDataStore Jackrabbit Blobs im Dateisystem und Dateieigenschaften Informationen in der Datenbank speichert? – basilboli

+0

Ja, wenn Sie FileDataStore verwenden, werden die Blobs im Dateisystem gespeichert. Wenn Sie den BundleDbPersistenceManager verwenden, werden JCR-Knoten und -Eigenschaften in der Datenbank gespeichert. –

+0

Was verwenden wir einen BundleDbPersistenceManager mit FileDataStore? – Ducaz035