今天弄了一下JBOSS ,1台机器上面复制一份JBOSS 修改 8080 和8443 端口 以为就可以同时启动2个JBOSS 端口不占用(TOMCAT 用的比较多 以前TOMCAT 就是修改SERVER.XML 修改端口号解决),后测试发现第个JBOSS 启动不了,端口给占用 一开始是报8083端口占用,后又有其他端口给占用。后来找到方法,就是 JBOSS 配置文件在jboss-5.1.0.GA/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml 下面提供了自动更改端口的办法 默认 4个默认端口
posts-default 使用默认端口
posts-01,posts-02,posts-03 默认8080端口后 如果使用 posts-01 启动 所有端口增加100 变为 8180
posts-02 增加200 posts-03 增加300
<!-- The ports-01 bindings are obtained by taking the base bindings and adding 100 to each port value --> <bean name="Ports01Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet"> <constructor> <!-- The name of the set --> <parameter><span style="color: #ff6600;">ports-01</span></parameter> <!-- Default host name --> <parameter>${jboss.bind.address}</parameter> <!-- The port offset --> <parameter><span style="color: #ff6600;">100</span></parameter> <!-- Set of bindings to which the "offset by X" approach can't be applied --> <parameter><null/></parameter> </constructor> </bean> <!-- The ports-02 bindings are obtained by taking ports-default and adding 200 to each port value --> <bean name="Ports02Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet"> <constructor> <!-- The name of the set --> <parameter><span style="color: #ff6600;">ports-02</span></parameter> <!-- Default host name --> <parameter>${jboss.bind.address}</parameter> <!-- The port offset --> <parameter><span style="color: #ff6600;">200</span></parameter> <!-- Set of bindings to which the "offset by X" approach can't be applied --> <parameter><null/></parameter> </constructor> </bean> <!-- The ports-03 bindings are obtained by taking ports-default and adding 300 to each port value --> <bean name="Ports03Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet"> <constructor> <!-- The name of the set --> <parameter><span style="color: #ff6600;">ports-03</span></parameter> <!-- Default host name --> <parameter>${jboss.bind.address}</parameter> <!-- The port offset --> <parameter><span style="color: #ff6600;">300</span></parameter> <!-- Set of bindings to which the "offset by X" approach can't be applied --> <parameter><null/></parameter> </constructor> </bean>
ports-01 100 ports-02 200 ports-03 300
知道这个就好办了 第一个JBOSS 使用默认不用修改
第2个JBOSS 修改 jboss.service.binding.set:ports-01
修改位置 位于jboss-5.1.0.GA/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml 中位于
<bean name="ServiceBindingManagementObject" class="org.jboss.services.binding.managed.ServiceBindingManagementObject"> <constructor> <!-- The name of the set of bindings to use for this server --> <parameter>${jboss.service.binding.set:<span style="color: #ff0000;">ports-01</span>}</parameter> <!-- The binding sets --> <parameter> <set> <inject bean="PortsDefaultBindings"/> <inject bean="Ports01Bindings"/> <inject bean="Ports02Bindings"/> <inject bean="Ports03Bindings"/> </set> </parameter> <!-- Base binding metadata that is used to create bindings for each set --> <parameter><inject bean="StandardBindings"/></parameter> </constructor> </bean>
<parameter>${jboss.service.binding.set:ports-01}</parameter>
只要修改上面设置后 启动2个JBOSS 即可以看到 第一个JBOSS 8083端口使用,第2个JBOSS 8183 使用 ,其他端口也相应增加100 这样端口号就没有冲突了
附件:
linux 启动JBOSS 和关闭命令为
启动 ./run.sh -b 192.168.2.158 & (其中 JBOSS 4以上版本起送时候需要添加 IP 地址 一般我们可以使用0.0.0.0 代替)
关闭 ./shutdown -S &