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



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

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

一旦生成的文件数量增加,我们就想到使用文件系统而不是数据库来提高性能并消除复制开销。在规范中,jackrabbit团队建议使用BundleFsPersistenceManager,但带有这样的注释

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

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

提前非常感谢

Jackrabbit 中的持久性有点复杂,首先阅读配置概述文档是有意义的。

在 Jackrabbit 中,二进制文件默认存储在数据存储中,而不是存储在持久性管理器中。即使您使用 BundleDbPersistenceManager ,大型二进制文件也存储在数据存储中。您可以将(默认)FileDataStoreBundleDbPersistenceManager 结合使用。

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

最新更新