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

时间:2010-10-26 00:09:51

标签: liferay jackrabbit glassfish-webspace

我有一个Liferay门户,配置为使用文件系统persitence为jackrabbit。

似乎这种持久性模式在文件系统上创建了大量文件(到目前为止已经是113'000)并且我正在慢慢达到服务器的文件计数配额。

我希望切换到数据库持久性。我知道如何configure it我不知道如何迁移现有内容

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


简短更新:

我设法升级到Liferay 6.然而,没有办法将Jackrabbit数据从文件系统迁移到Liferay中的数据库;数据迁移面板提供的是从jcr钩子迁移到另一个持久性钩子。

我的第一个问题是没有数据库中的数据,而是减少文件系统上的文件数量(配额限制)。然后我切换到FileSystemHook

这是文件计数(find . | wc -l)。

  • JCRHook:107566
  • FileSystemHook:2810。

不知道为什么Jackrabbit创造了这么多文件......

2 个答案:

答案 0 :(得分:4)

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

看来你还没有进入Liferay 6(Glassfish WebSpace Server是Liferay 5.2),所以有几种选择:

  • 将门户网站本身从5.x升级到6.0.5,如the Liferay Wiki中所述并使用迁移页面。
  • 继续使用您的版本,并根据Liferay在版本6中提供的灵感创建专门的课程
  • 导出社区页面(Liferay ARchive),创建一个具有数据库持久性的新门户,并导入页面及其内容。

迁移将是我的选择,无论是整个门户网站(但可能不是你的路线图上的东西)或临时迁移类。

阿诺

答案 1 :(得分:3)

有几种迁移方式,其中大部分都记录在Jackrabbit Wiki

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