如何在一个 Tomcat 服务器下运行多个 Jackrabbit 实例或存储库?

如何在一个 Tomcat 服务器下运行多个 Jackrabbit 实例或存储库?

我在 Ubuntu 13.10 上的 Tomcat 7.0.42 下运行了一个 Jackrabbit 2.6.5 实例,方法是将 WAR 作为 jackrabbit.war 放入 Tomcat 的 webbapps 文件夹中。

如果我将 war 文件复制到 jackrabbit2.war,它会在 host:8080/jackrabbit2 启动第二个实例,但它似乎共享相同的配置(因此共享 repo 存储),因为如果我在一个实例中创建一个工作区,我的 repo 浏览器会显示它存在于两个实例中。

请注意,我已修改 WEB-INF/web.XML 以将 bootstrap-config 指向 /opt/jackrabbit/bootstrap.properties(对于 Repository 和 RepositoryStartup),并将 bootstrap.properties 指向,其中,对于第一个实例,repository.home=/opt/jackrabbit 和 repository.config=/opt/jackrabbit/repository.xml,并对第二个实例进行了相同的更改(但更改为 /opt/jackrabbit2)-因此两个存储库都应该使用它们自己的配置和位置?

运行多个 repos(无论是在一个或多个 Jackrabbit 实例下)的原因是为了我可以为它们配置不同的后端进行测试。

有什么办法吗?我需要告诉 Tomcat 这些不是同一个应用程序吗?还是我的配置中遗漏了什么?

答案1

显然这是一个无用的问题 - 你可以完全正常地运行多个存储库,要么使用 jackrabbit webapp 的多个副本,要么使用虚拟主机(可能还有其他方法)。造成混淆的部分原因在于 tomcat 将其配置分布在多个文件中,并在创建每个工作区时将工作区配置从repository.xml 复制到workspace.xml,从而冻结每个工作区的配置。

相关内容