Liferay 如何将jackrabbit持久性从文件系统切换到数据库?

Liferay 如何将jackrabbit持久性从文件系统切换到数据库?,liferay,jackrabbit,glassfish-webspace,Liferay,Jackrabbit,Glassfish Webspace,我有一个Liferay门户,它被配置为使用jackrabbit的文件系统persistence 这种持久化模式似乎在文件系统上创建了很多文件(到目前为止大约是113'000),我正在慢慢达到服务器的文件计数配额 然后我想切换到数据库持久化。我知道如何迁移,但我不知道如何迁移现有内容 导出和导入各种库(文档、图像等)听起来工作量很大,而且很容易出错,特别是因为它是一种多宿主部署。另外,我不知道它是否会为文档重新创建相同的URL,这对我来说很重要 简短更新: 我设法升级到Liferay 6。但是,

我有一个Liferay门户,它被配置为使用jackrabbit的文件系统persistence

这种持久化模式似乎在文件系统上创建了很多文件(到目前为止大约是113'000),我正在慢慢达到服务器的文件计数配额

然后我想切换到数据库持久化。我知道如何迁移,但我不知道如何迁移现有内容

导出和导入各种库(文档、图像等)听起来工作量很大,而且很容易出错,特别是因为它是一种多宿主部署。另外,我不知道它是否会为文档重新创建相同的URL,这对我来说很重要


简短更新:

我设法升级到Liferay 6。但是,无法从Liferay中将jackrabbit数据从文件系统迁移到数据库;数据迁移面板提供的是从jcr钩子迁移到另一个持久性钩子

我最初的问题不是将数据放在数据库中,而是减少文件系统上的文件数量(配额限制)。然后我切换到
文件系统挂钩

这是文件计数编号(
find.|wc-l

  • JCRHook:107566
  • FileSystemHook:2810

不知道为什么Jackrabbit会创建这么多文件

有几种迁移方法,其中大多数都记录在:


导出为XML可能不适用于大型存储库,因为它使用了太多内存(您需要尝试)。我从未使用过其他迁移工具,因此无法对其发表评论。

在Liferay 6中,门户管理中有一个新的专用页面,旨在促进类似的迁移。您必须以管理员身份登录(如果服务器中有多个门户实例,则为omniadmin)并转到控制面板。 在服务器管理窗格中,单击数据迁移菜单,您将可以从文件系统迁移到数据库

您似乎还没有使用Liferay 6(Glassfish Web空间服务器是Liferay 5.2),因此有几个选项:

  • 将门户本身从5.x升级到6.0.5,如和使用迁移页面中所述
  • 继续使用您的版本,并以Liferay在版本6中提供的课程为灵感创建专用课程
  • 导出社区页面(Liferay存档),创建具有DB持久性的新门户,并导入页面及其内容
迁移将是我的选择,无论是使用整个门户(但很可能它不是您的路线图上的内容),还是使用临时迁移类


阿诺

谢谢你提供的信息。将在本地克隆生产环境,以测试到6.x的迁移。问题是,我们仍然停留在旧的4.x权限模型上,根据我的经验,升级总是很耗时,但到目前为止,我总是以某种方式取得了成功(我的笔记在这里:)。否则,我想我会考虑一个低级别的选择。对于权限,您必须首先使用权限启动门户。用户。检查。算法=4,然后使用数据迁移菜单:权限检查算法的升级是其中的选项之一。我完全同意你的升级时间,这个新菜单是一个非常受欢迎的补充。简短更新:我设法在本地安装LR 6并升级。还没有做过高级测试,但到目前为止似乎还在工作。我的算法是
permissions.user.check.algorithm=2
从旧的LR 4.x时间返回!但是,数据迁移面板在钩子级别工作。因此,它让我能够将文档迁移到FileSystemHook、S3Hook和其他2个文件系统。但这无助于迁移Jackrabbit(JCRHook)的内容,这显然是Liferay的一个黑匣子……出于某种未知的原因,它不建议对文档使用
com.Liferay.portal.image.DatabaseHook
。我改为
FileSystemHook
,这大大减少了服务器上的文件数量。你得到了绿色的记号!很高兴您能够升级。通过大量权限检查,您应该可以看到页面速度的提高。此外,您可能有兴趣转到新主题:例如,负责内容创建的我的用户更喜欢新的dock。谢谢!我会给他们一个尝试。简短更新:RepositoryCopier只附带了jackrabbit 1.6,我有一个旧版本的jackrabbit。我试图适应它,但没有成功。作为最后手段,我将调查XML export/import.Hi,您是否找到了使用JCRHook创建过多文件的原因?我只是在尝试决定实现,因为我将有很多文件和很多mixin属性。所以我担心如果我选择jackrabit BundleFsPersistenceManager和localFileSystem,我可能会遇到与您相同的情况