2010-08-14 83 views
2

Java Content Repository(JCR,在JSR-283中指定)是否存在以下功能?Java内容存储库实现:单线程,内存中,只读?

  • 单线程(不创建用于后台处理的线程)。
  • 内存中(不依赖于外部存储,如数据库系统或文件系统)。
  • 可能只读(无需支持写入操作 - 所有内容均在启动时以编程方式提供)。

据了解,这些限制会对系统造成严重的限制,所以请不要深究。为了让一些背景,目的是找一个轻量级的JCR实现它可以:

  • 用于建立在JCR之上原型出版系统:简单的博客引擎,内容管理系统等。当系统增长时,它可以转移到更全面的JCR实现。
  • 在受限制的环境中运行,例如Google App Engine,其中例如不允许创建线程。如果内容相对较小并且很少更新,则可以接受只读内容存储库。

选项至今认为,这似乎并不填补这些要求是:

  • Apache Jackrabbit:显然需要线程。存储似乎是可插拔的,因此可以实现内存中的存储。
  • 其他选择?

回答

0

Priha不需要线程,并且符合JCR1.0(即它没有正式认证,但通过TCK),尽管它没有实现所有可选位。

2

你看过ModeShape? ModeShape是轻量级的,可以轻松配置为使用内存中的存储库并具有可扩展的连接器框架(如果要将其连接到外部内容系统)。还可以禁用搜索和索引以及其他一些服务。它确实为后台处理创建了一些线程,尽管它是开源的,并且可以修改它以允许创建精简的JCR引擎(尽管并非所有的JCR功能都可以工作)。

+0

谢谢,ModeShape看起来功能丰富。然而,我仍然犹豫是否开始修改与线程相关的源代码,担心修改会花费太多时间或者可能无法成功。 – 2010-08-14 19:35:59