【发布时间】:2012-08-22 16:24:03
【问题描述】:
我在 IBM AIX 上使用 Jackrabbit 1.6 版。它类似于Linux操作系统。 Jackrabbit 用于存储我的应用程序用户上传的文件。当 JCR 在存储库(在配置文件中)指定的目录中存储了超过 32767 个文件/文件夹时,我收到错误 "can't create a folder"。
这个问题在最新版本的 Jackrabbit 中得到解决了吗?我知道这是操作系统的限制,但是通过调整 Jackrabbit 的文件存储机制可以解决这个问题
或者
有没有一种方法可以在 JCR 配置中指定,一旦达到 32767 限制,它应该将文件存储在其他目录中。
或者
有没有一种方法可以按月/按周保存文件,因为我确信在一个月内我将拥有少于 32767 个文件。
感谢任何帮助/评论。
谢谢,
塔里克
【问题讨论】:
-
这些文件在什么目录下,文件名是什么?另外,是什么阻止您升级到最新版本的 Jackrabbit?
-
目录名称可以是任何名称。存储的文件由 Jackrabbit 本身命名,我得到的只是一个唯一的 ID,当我想检索文件时可以参考它。该系统已经投入生产,因此转移更新版本的 Jackrabbit 并非易事。虽然如果问题在最新版本中得到解决,那么我们可以通过特殊批准迁移到新版本。
-
同样迁移到新版本意味着我们将不得不编写一个新的迁移过程,因为生成唯一 ID 的逻辑已经从版本 1.6 更改为 2.4
-
"目录名可以是任何东西" - 好吧,你能举个例子吗?您是否使用旧的基于文件的持久性管理器?生成唯一 ID 的逻辑如何影响您的程序?
-
“嗯,你能举个例子吗?” - Jackrabbit 作为 EAR 而不是作为独立应用程序加载到 Jboss 应用程序服务器中。存储库是在运行时定义的。使用的路径是 /usr/local/myapp/submod1。 “您使用的是旧的基于文件的持久性管理器吗?” - 持久性管理器的配置是:
.
标签: linux filesystems aix jackrabbit jcr