8.3. 部署集群 EJB


JBoss EAP 7.3 的 HA 配置文件中提供了集群支持。启动启用了 HA 功能的单机服务器涉及从 standalone-ha.xml 或 standalone- full-ha.xml 文件启动它:

$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml
Copy to Clipboard Toggle word wrap

这将启动具有 HA 功能的服务器的单个实例。

要查看群集的优势,您将需要多个服务器实例。因此,让我们启动具有 HA 功能的另一台服务器。该服务器的另一个实例可以在同一台计算机上,也可以位于其他计算机上。如果它位于同一台机器上,则需要处理两个问题:

  • 为第二个实例传递端口偏移
  • 确保每个服务器实例都具有唯一的 jboss.node.name 系统属性。

您可以通过将以下两个系统属性传递给启动命令来做到这一点:

$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.socket.binding.port-offset=PORT_OFFSET -Djboss.node.name=UNIQUE_NODE_NAME
Copy to Clipboard Toggle word wrap

遵循您对将 EJB 部署部署到此实例时熟悉的任何方法。

警告

仅将应用部署到群集服务器独立实例的一个节点上,并不意味着它将自动部署到其他集群实例。您还必须明确将它部署到其他独立集群实例上。或者,您可以在域模式中启动服务器,以便将部署部署到服务器组中的所有服务器上。

现在,您已在两个实例上部署了带有集群 EJB 的应用,EJB 现在可以利用集群功能。

注意

从 JBoss EAP 7 开始,如果使用 HA 配置文件启动 JBoss EAP,则将复制有状态会话 Bean 的状态。您不再需要使用 @Clustered 注释来启用集群行为。

您可以通过在 @Stateful 注释中将 passivationCapable 设置为 false 来为有状态会话 Bean 禁用复制:

@Stateful(passivationCapable=false)
Copy to Clipboard Toggle word wrap

这会指示服务器使用 passivation-disabled-cache-ref 定义的 ejb 缓存, 而不是 cache-ref

要全局禁用有状态会话 Bean 的复制,请使用以下管理 CLI 命令:

/subsystem=ejb3:write-attribute(name=default-sfsb-cache,value=simple)
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat