Jackrabbit部署模型

部署模型

JSR-170明确允许使用多种不同的部署模型,这意味着完全由存储库实施来建议某些模型。
Jackrabbit被构建为支持各种不同的部署模型,此处将概述有关如何部署Jackrabbit的一些可能性。
另请参阅以下HOWTO文档,以设置和使用不同的部署模型:

模型1 :(Web)应用程序捆绑包

或者许多应用程序,通常是在封闭上下文中运行而不与其他应用程序或数据源交互的应用程序,最好将内容存储库与应用程序本身捆绑在一起。
Jackrabbit是为此轻量级模型构建的,并且显然允许通过JSR-170提供的抽象在任何时间点移动到不同的部署模型,以防应用程序在其中运行时需要使用它。
这使Jackrabbit成为打包为轻量级的开箱即用的内容存储库的理想之选,该存储库允许应用程序供应商可以确保不依赖于预先安装的内容存储库。
与该应用程序打包在一起的Jackrabbit实例在同一个JVM中在进程内运行,并且任何其他应用程序都无法访问。
此部署模型特别轻量级,不需要网络层。
各个存储库实例都使用其包含的应用程序一起启动和停止,这意味着该应用程序不仅连接到存储库,而且还负责启动和停止存储库。
作为此部署模型的一个示例,我们假设将一个WebApplication打包到一个.war文件中,然后将其部署到WebContainer中,该容器不仅包含应用程序,还包含实际的内容存储库。
在这里插入图片描述
Application1和Application2都包含自己的内容存储库实例,这些实例作为.war文件的一部分分发,因此通过Web应用程序的类加载器加载,这使其对其他应用程序不可见。
当然,这部署模型也适用于任何独立的应用程序,而不仅仅是web应用程序。

模型2:共享的J2EE资源

部署存储库的第二种方法是,通过将存储库注册为Application Server的资源适配器,使其在Servlet容器中运行的所有Web应用程序可见。
与第一个部署模型类似,此部署模型也不需要网络层,因此将被视为进程内的,并且在同一JVM中运行。
该存储库由Application Server启动和停止,但是对所有要连接的应用程序都是可见的。
在这里插入图片描述
此设置还允许利用Application Server的XA功能,并可以使用作为J2EE框架的一部分提供的应用程序服务器单点登录机制。

模型3:存储库服务器

在企业环境中,C/S部署模型被广泛应用于关系数据库中。虽然对于关系数据库,这可能是大多数RDBMS供应商对存储库(尤其是Jackrabbit)支持的唯一部署模型,但这只是针对不同的选项。
在需要将内容存储库(或数据)层与应用程序或表示层物理分离的环境中,C/S部署模型肯定会很流行,因此内容存储库可以从许多不同的应用程序物理上使用,并且可以单独地进行缩放。
在这里插入图片描述
此部署模型假定在内容存储库服务器与相应的内容存储库客户端之间存在一个网络层。
当应用程序通过JSR-170 API与内容存储库客户端进行通信时。然后,内容存储库客户端通过任何形式的传输协议与独立的内容存储库服务器进行通信。
客户端和服务器之间的传输协议需要实现,而不是JSR-170强制要求的。流行的选择可能包括基于JRMP或IIOP或WebDAV的RMI及其扩展。

原文地址:http://jackrabbit.apache.org/jcr/deployment-models.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提示错误[ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-webdav-jackrabbit:1.0-beta-6 or one of its dependencies could not be resolved: The following artifacts could not be resolved: commons-httpclient:commons-httpclient:jar:3.1 (absent): Could not transfer artifact commons-httpclient:commons-httpclient:jar:3.1 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/146.75.112.215] failed: connect timed out @ @ [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project org.drools:droolsjbpm-integration:7.74.0-SNAPSHOT (D:\droolsjbpm-integration-main\droolsjbpm-integration-main\pom.xml) has 1 error [ERROR] Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-webdav-jackrabbit:1.0-beta-6 or one of its dependencies could not be resolved: The following artifacts could not be resolved: commons-httpclient:commons-httpclient:jar:3.1 (absent): Could not transfer artifact commons-httpclient:commons-httpclient:jar:3.1 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/146.75.112.215] failed: connect timed out -> [Help 2] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginManagerException
最新发布
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值