Come passare Jackrabbit persistenza dal file system a base di dati?
-
26-09-2019 - |
Domanda
Ho un portale Liferay che è stato configurato per l'utilizzo del file system persitence per Jackrabbit.
Sembra che questa modalità di persistenza crea un sacco di file sul filesystem (finora qualcosa come 113'000) e sto lentamente raggiungendo la quota di conteggio dei file del server.
Vorrei poi passare a database persistenza. So come configurarlo ma non so come migrare il contenuto esistente .
L'esportazione e l'importazione delle varie biblioteche (documenti, immagini, ecc) suona come un sacco di lavoro e molto soggetto ad errori, soprattutto perché si tratta di una distribuzione multi-homed. Inoltre, non so se sarà ricreare lo stesso URL esatto per i documenti, il che è importante per me.
Aggiornamento breve:
Sono riuscito a effettuare l'aggiornamento a Liferay 6. V'è tuttavia alcun modo per migrare i dati da Jackrabbit file system a base di dati dall'interno di Liferay; quello della migrazione dei dati offerte pannello è migrare dal gancio jcr ad un altro gancio persistenza.
Il mio problema iniziale era di non avere i dati in un database, ma per ridurre il numero di file sul filesystem (limite di quota). Ho poi passato al FileSystemHook
.
Ecco il numero di conteggio di file (find . | wc -l
).
- JCRHook: 107.566
- FileSystemHook: 2810.
Non so perché Jackrabbit crea tanto file ...
Soluzione
In Liferay 6, v'è una nuova pagina dedicata nel Portale che è destinato a facilitare le migrazioni del genere. Devi effettuare il log in come amministratore (omniadmin se si dispone di più istanze del portale della server) e andare al Pannello di controllo. Nel pannello di amministrazione del server, fare clic sul menu di migrazione dei dati e vi verrà proposto di migrare da FileSystem al database.
Sembra che non siete ancora in Liferay 6 (Glassfish WebSpace Server è un Liferay 5.2), quindi ci sono diverse opzioni:
- l'aggiornamento del portale stesso per dalla 5.x alla 6.0.5, come spiegato in la Liferay Wiki e l'uso della pagina di migrazione.
- soggiorno con la versione, e creare classe dedicata ispirato a quelli forniti da Liferay versione 6
- esportare le pagine di comunità (Liferay archivio), creare un nuovo portale con DB persistenza e importare le pagine e il loro contenuto.
La migrazione sarebbe la mia scelta, sia con l'intero portale (ma le probabilità sono che non è qualcosa sulla vostra tabella di marcia) o con classi di migrazione ad hoc.
Arnaud
Altri suggerimenti
Ci sono diversi modi di migrare, la maggior parte di essi sono documentati nel Jackrabbit Wiki :
Esporta in XML potrebbe non funzionare per i grandi depositi, perché utilizza troppa memoria (è necessario provare). Non ho mai usato gli altri strumenti di migrazione, quindi non posso commentare su di loro.