Como mudar a persistência do JackRabbit do sistema de arquivos para o banco de dados?
-
26-09-2019 - |
Pergunta
Eu tenho um portal Liferay que foi configurado para usar a atitude do sistema de arquivos para o JackRabbit.
Parece que esse modo de persistência cria muitos arquivos no sistema de arquivo (até agora algo como 113 '000) e estou atingindo lentamente a cota de contagem de arquivos do servidor.
Eu gostaria de mudar para base de dados persistência. Eu sei como configure isso mas Não sei como migrar o conteúdo existente.
Exportar e importar as várias bibliotecas (documentos, imagens etc.) parece muito trabalho e muito propenso a erros, especialmente porque é uma implantação com vários homos. Além disso, não sei se ele recriará o mesmo URL exato para os documentos, o que é importante para mim.
Atualização curta:
Consegui atualizar para o Liferay 6. No entanto, não há como migrar os dados do JackRabbit do sistema de arquivos para o banco de dados de dentro do Liferay; O que o painel de migração de dados oferece é migrar do gancho JCR para outro gancho de persistência.
Meu problema inicial não era ter os dados em um banco de dados, mas reduzir o número de arquivos no sistema de arquivos (limite de cota). Eu então mudei para o FileSystemHook
.
Aqui está o número da contagem de arquivos (find . | wc -l
).
- Jcrhook: 107566
- FileSystemHook: 2810.
Não sei por que Jackrabbit cria tantos arquivos ...
Solução
No Liferay 6, há uma nova página dedicada na administração do portal que se destina a facilitar as migrações como essa. Você precisa fazer login como administrador (Omniadmin se tiver várias instâncias de portal no seu servidor) e ir para o painel de controle. No pannel de administração do servidor, clique no menu de migração de dados e você será oferecido para migrar do sistema de arquivos para o banco de dados.
Parece que você ainda não está no Liferay 6 (o Glassfish Webspace Server é um Liferay 5.2), então existem várias opções:
- Atualize o próprio portal para 5.x para 6.0.5, conforme explicado em O Wiki Liferay e o uso da página de migração.
- Fique com sua versão e crie classe dedicada inspirada nos fornecidos pelo Liferay na versão 6
- Exportar as páginas da comunidade (Liferay Archive), crie um novo portal com persistência de banco de dados e importe as páginas e seu conteúdo.
A migração seria a minha escolha, seja com todo o portal (mas é provável que não seja algo no seu roteiro) ou com aulas de migração ad hoc.
Arnaud
Outras dicas
Existem várias maneiras de migrar, a maioria deles é documentada no Wiki de Jackrabbit:
A exportação para o XML pode não funcionar para grandes repositórios, porque usa muita memória (você precisa tentar). Eu nunca usei as outras ferramentas de migração, então não posso comentar sobre elas.