我发现了几个教程如何在同一台机器上运行多个JBoss实例。
所有这些都提到了取消注释Service Binder并为每个服务器分别提供了service-binding.xml文件。
问题是为什么这样做?除了添加额外的间接层之外,还有什么理由吗?
看起来可以通过修改每个服务器的jboss-service.xml中的端口来实现。唯一的限制是没有简单的方法来切换哪个JBoss实例使用哪组端口。
答案 0 :(得分:2)
修改jboss-service.xml
中的端口是正确的。这是改变端口的直接而真实的方式。
不幸的是,端口不仅在该文件中定义,而且还在其他地方定义,例如jboss-web的配置等。 抓住所有这些地方可能容易出错。
因此,我们的想法是拥有一个位于服务器安装根目录的中央文件(service-binding.xml)。您基本上将'default'配置复制到server1,server2等,然后在启动时通过服务器名称中的命令行传递,以便从service-bindings.xml获取所有服务的正确端口偏移并应用于结果运行时配置。
JBossAS 7将这一概念更进一步发展到ServiceBindingGroups,其中基本端口是在域级别定义的,然后每个服务器选择一个基本组+只是一个名称的端口偏移量,因此需要的工作量更少而不是as4