使用文件系统而不是数据库来存储jackrabbit中的pdf文件

时间:2012-04-27 08:49:06

标签: java jackrabbit jcr

在我们的项目中,我们使用带有spring和tomcat的jackrabbit来管理pdf文件。

目前,MySql数据库正用于存储blob文件(就jackrabbit而言,它被称为BundleDbPersistenceManager)。

一旦生成的文件数量增加,我们就会考虑使用文件系统而不是数据库来提高性能并消除复制开销。 在spec jackrabbit团队推荐使用BundleFsPersistenceManager而不是像这样的评论

  

不打算在生产环境中使用(只读用途除外)

有没有人有使用BundleFsPersistenceManager的经验,并且可以引用从mysql数据库中的blob到文件系统中的文件的无痛迁移的任何资源?

非常感谢您提前

1 个答案:

答案 0 :(得分:2)

Jackrabbit中的持久性有点复杂,首先阅读configuration overview documentation是有意义的。

在Jackrabbit中,二进制文件默认存储在data store,而不是persistence manager。即使您使用BundleDbPersistenceManager,大型二进制文件也会存储在数据存储中。您可以将(默认)FileDataStoreBundleDbPersistenceManager结合使用。

我建议使用BundleFsPersistenceManager,因为如果程序在写入时被杀死,数据很容易被破坏。