运行多个JBoss(JBoss 4.2)时使用Service Binder的原因是什么

运行多个JBoss(JBoss 4.2)时使用Service Binder的原因是什么,jboss,jboss-4.2.x,Jboss,Jboss 4.2.x,我找到了两个如何在同一台机器上运行多个JBoss实例的教程 它们都提到取消对Service Binder的注释,并为每台服务器提供单独的Service-binding.xml文件 问题是为什么会这样做?除了添加额外的间接层之外,还有其他原因吗 对于每台服务器,修改jboss-service.xml中的端口似乎也可以做到这一点。唯一的限制是,无法轻松切换JBoss的哪个实例使用哪组端口。在JBoss service.xml中修改端口是正确的。这是更改端口的直接而真实的方法 不幸的是,端口不仅在该文

我找到了两个如何在同一台机器上运行多个JBoss实例的教程

它们都提到取消对Service Binder的注释,并为每台服务器提供单独的Service-binding.xml文件

问题是为什么会这样做?除了添加额外的间接层之外,还有其他原因吗


对于每台服务器,修改jboss-service.xml中的端口似乎也可以做到这一点。唯一的限制是,无法轻松切换JBoss的哪个实例使用哪组端口。

JBoss service.xml
中修改端口是正确的。这是更改端口的直接而真实的方法

不幸的是,端口不仅在该文件中定义,在jboss web的配置等其他地方也有定义。
捕捉所有这些位置可能容易出错

因此,我们的想法是在服务器安装的根目录中创建一个中心文件(servicebinding.xml)。基本上,您可以将“default”配置复制到server1、server2等,然后在启动时通过命令行传入服务器名称,以便从service-bindings.xml获取所有服务的正确端口偏移量,并将其应用到生成的运行时配置

JBossAS 7将这一概念进一步扩展到ServiceBindingGroups,在ServiceBindingGroups中,基本端口是在域级别定义的,然后在每台服务器上选择一个基本组+仅按名称选择一个端口偏移量,因此所需的工作甚至比as4中更少