很多时候服务器的数据总是不够的,有时需要测试或者配置集群、负载均衡等实例,这就需要在一台机器上跑多个JBoss实例,
那如何在一台机器启动多个JBoss呢,有两种方法:
一:自定义JBoss内置的端口:
1、$JBOSS_HOME/server/default/conf/jboss-service.xml
a、WebService端口
<mbean code="org.jboss.web.WebService" name="jboss:service=WebService">
<attribute name="Port">8083</attribute>
b、JNDI端口:
<mbean code="org.jboss.naming.NamingService"
name="jboss:service=Naming" xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
<attribute name="Port">1099</attribute>
<attribute name="Port">1098</attribute>
c、RMI端口:
<mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker" name="jboss:service=invoker,type=jrmp">
<attribute name="RMIObjectPort">4444</attribute>
</mbean>
<mbean code="org.jboss.invocation.pooled.server.PooledInvoker" name="jboss:service=invoker,type=pooled">
<attribute name="ServerBindPort">4445</attribute>
</mbean>
2、$JBOSS_HOME/server/default/deploy/jbossweb.sar/server.xml
a、HTTP端口:
<Connector port="8080" address="${jboss.bind.address}"/>
<Connector port="8009" address="${jboss.bind.address}"/>
3、$JBOSS_HOME/server/default/deploy/jms/uil2-service.xml
a、JMS:
<mbean code="org.jboss.mq.il.uil2.UILServerILService">
<attribute name="ServerBindPort">8093</attribute>
二:使用JBoss自带的启动参数:
如果要启动某一个节点,用run.bat -c node1,-c表示指定执行哪一个节点的配置和部署应用.
JBoss比Tomcat复杂的多,端口的使用也就更多了,一个一个修改不怎么现实,也得花很多时间,其实,JBoss提供了自动更改端口的办法,
启动JBoss加此参数:-Djboss.service.binding.set=ports-default
posts-default 使用默认端口,posts-01,posts-02,posts-03 如这样:-Djboss.service.binding.set=ports-01
如:8080端口,JBoss会默认为你在端口号上增加100,即:8180。所有的端口以此类推都增加100。posts-02,posts-03分别增加200,300
如果4个都不够用,可以修改posts-xx的配置文件,增加几个。这个的配置文件在:
JBOSS_HOME/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml(其中default为默认的启动目录),
这样省去了手动修改端口劳动力哦。