我什么时候会选择部署为 JBoss SAR 而不是 EAR?
这更像是一个一般性问题,我正在寻找解释每种部署模型的优缺点以及何时适用的指南。
当您想要扩展服务器的功能时,您将构建一个 SAR(服务存档)。例如,JBoss 将 SAR 用于 EJB 部署程序或消息传递。您可以为自己的服务监控创建一个(即,观察您的一项自定义服务的一些指标)。据我所知,SAR 是 JBoss 独有的。
根据我的个人经验,我曾经创建了一个 SAR 来跟踪 Web 服务。我主要使用服务组件来跟踪 Web 服务组件创建的事物列表的长度。这是我可以在 jmx-console 中查看并找出有关对 Web 服务的传入请求的一些指标的一种方法。
SAR 基于 JMX 规范,因此创建它们并不难。您基本上创建了一个标准 MBean 接口并实现该接口。您还需要确保目录jboss-service.xml
中有文件META-INF
。
另一方面,WAR 和 EAR 用于标准应用程序打包,您希望容器在其中管理和处理应用程序的请求。您不希望应用程序像 SAR 打包应用程序那样作为匿名服务组件运行。
希望这可以帮助!