我遇到了使用Apache Jackrabbit尝试使用jee应用程序的不幸。它声称拥有资源适配器,以便可以将jcr与应用程序的服务器组件一起部署在jee服务器(geronimo或glassfish)中。如果你是有一个文档存储库,节点中有标签,你不希望所有的颠簸与穿越jvm和内存空间boudaries相关联。事实证明,Jackrabbits资源适配器是如此悲惨的形状,它是无用的。
建议我查看Modeshape。我看到它喜欢JBoss,这对我来说是新的。自从我看到有关JBoss部署的更多信息后,我就朝着这个方向努力,但面对不止一条新的学习曲线。 Modeshape似乎是一个充满活力的项目,但无论如何,这些天最重要的是webapps,我所遇到的性能问题并不重要。
我想知道我是否可以使用Modeshape和JBoss进行相同的集成部署。如果我不能,我需要继续寻找,或者为了方便起见,回到jackrabbit独立存储库并忍受性能打击,直到我找到更好的东西。
感谢您的考虑。
答案 0 :(得分:1)
在最高级别,ModeShape可以嵌入到单个JVM中,并且可以选择将这些JVM集群在一起。
使用Java SE,嵌入确实是正确的方法。 ModeShape在与应用程序相同的JVM中运行,因此所有访问都是本地访问(尽管ModeShape仍然可以将内容保留到远程数据库或系统)。您的应用程序实例化ModeShapeEngine
并启动一个或多个存储库;应用程序从这些存储库获取会话;应用程序终止时,应用程序将关闭引擎。
在Geronimo,Tomcat和JBoss等应用服务器中,还有一些选择:
后者可以通过ModeShape的JCA适配器(仅管理引擎生命周期)或JBoss(EAP或Wildfly,取决于ModeShape版本)通过ModeShape的“子系统”完成,该子系统由服务器的管理系统直接管理(包括动态管理存储库(部署或取消部署存储库,更改配置,监控等)。
无论哪种方式,您的应用程序都使用JCR API直接处理本地ModeShape存储库。唯一的问题是如何管理引擎。