2012-04-27 44 views
8

在我们的项目中,我们使用带有spring和tomcat的jackrabbit来管理pdf文件。使用文件系统而不是数据库将pdf文件存储在jackrabbit中

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

只要生成的文件数量增加,我们就会考虑使用文件系统而不是数据库来提高性能并消除复制开销。 在spec兔崽子团队推荐使用BundleFsPersistenceManager代替,但像这样

并不意味着注释在生产环境中使用(除只读使用)

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

非常感谢你提前

+1

_Aucuneidée._但请注意,在询问新问题之前接受其他问题的答案将会很好。 – 2012-04-27 08:56:19

+0

这是真的,更新的问题,我认为有适当的答案。谢谢 – basilboli 2012-04-27 20:17:04

回答

2

持续在兔崽子有点复杂,是有意义的阅读configuration overview documentation第一。

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

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

+0

谢谢。我正确地说,如果FileDataStore jackrabbit在数据库中的文件系统和文件属性信息中存储blob? – basilboli 2012-04-27 20:23:29

+0

是的,如果您使用的是FileDataStore,则blob存储在文件系统中。如果使用BundleDbPersistenceManager,则JCR节点和属性将存储在数据库中。 – 2012-04-27 21:21:53

+0

我们如何使用带有FileDataStore的BundleDbPersistenceManager? – Ducaz035 2016-04-21 12:15:40

相关问题