我想在两个JBoss 6.0实例中同时运行两个已部署的应用程序(.ear)
我已更改了standalone.xml文件的所有已用端口,包括http,management-http等。
赞:
application1.ear:套接字绑定名称=“ http” port =“ 8080
application2.ear:套接字绑定名称=“ http”端口=“ 8081
application1.ear: name =“ management-http” port =“ 9990
application2.ear: name =“ management-http” port =“ 9991
感谢您的帮助
答案 0 :(得分:0)
以下是在同一服务器上运行多个JBoss实例的两种方法。
将每个实例绑定到不同的IP地址
这是解决此问题的最简单,最推荐的方法。如果服务器有多个NIC,那么这很简单。如果不是,则必须将服务器“多宿主”。换句话说,通过OS配置为服务器分配多个IP地址。像这样启动实例:
span
相同的$JBOSS_HOME1/bin/run.sh -b <ip-addr-1>
$JBOSS_HOME2/bin/run.sh -b <ip-addr-2>
可以与$ JBOSS_HOME / server中的多个“ 配置文件”一起使用。例如:
$JBOSS_HOME
服务绑定管理器
配置“服务绑定管理器”以告知JBoss实例使用哪些端口。
取消注释$JBOSS_HOME/bin/run.sh -b <ip-addr-1> -c node1
$JBOSS_HOME/bin/run.sh -b <ip-addr-2> -c node2
中的“ jboss.system:service=ServiceBindingManager
” MBean。
$JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml
这告诉JBoss使用<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
中“ ports-01
”定义的端口编号方案。该方案将每个端口的第二个最高有效位增加100。例如,默认情况下,JNDI端口为1099,而使用ports-01方案为1199。 HTTP端口默认为8080,但使用ports-01方案为8180。 $JBOSS_HOME/docs/examples/binding-manager/sample-bindings.xml
文件包含4个端口方案:
您可能希望从命令行或通过系统属性来配置启动时使用的端口集。如果是这样,请调整MBean的ServerName使其引用系统属性,例如:
sample-bindings.xml
现在直接在<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">${jboss.service.binding.set:ports-default}</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
上通过以下属性对其进行更改,或将其添加到您的run.conf选项:
run.sh/run.bat
如果默认情况下需要在sample-bindings.xml中定义四个以上的端口集,请参阅以下有关JBOSS 6 EAP的文章: