当前位置: 代码迷 >> 综合 >> JBoss5 修改8080端口实现多个实例启动
  详细解决方案

JBoss5 修改8080端口实现多个实例启动

热度:17   发布时间:2024-01-16 16:17:50.0

JBoss5 修改8080端口实现多个实例启动

 

1. 修改JBoss Home地址

JBoss默认读取环境变量里的JBOSS_HOME地址.修改\bin\run.bat文件

if "x%JBOSS_HOME%" == "x" (
  set "JBOSS_HOME=%CD%"
)

下面插入
set "JBOSS_HOME=D:\CloudDeploy\jboss-5.1.0.GA_CID"

指定JBoss Home instance 的目录。

 

 

2. JBoss支持轮流端口绑定,使用'rebase' 选项。启动JBoss如下:

run -Djboss.service.binding.set=ports-01  

 

PS: 修改8080端口文件在

jboss-5.1.0.GA_CID\server\default\deploy\jbossweb.sar\service.xml

 

第二种方法是把不同的JBoss实体绑定到不同的IP,此种方法也可防止端口冲突。这里不做介绍。

 

以下内容转自 土匪的山寨

根据bindings-jboss-beans的规则,ports-01配置是在8080基础上+100即8180,所对应的Naming Service,Remote classloading service,Remoting Connector,RMI/JRMP,HA Pooled invoker等,都会自适应+100;如果是ports-02就会加200,依此类推。

jboss默认提供4种端口规则( ports-default,ports-01,ports-02,ports-03)

 

修改端口绑定配置文件bindings-jboss-beans.xml($jboss_home\default\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml,default是Jboss的默认实例,根据自己的应用而定,server目录下面的几个WEB实例就不说明了,每个目录代表一种实例),修改两个地方就可以扩展一个端口:
       第一处,红色部分:

         <parameter>
            <set>
               <inject bean="PortsDefaultBindings"/>
               <inject bean="Ports01Bindings"/>
               <inject bean="Ports02Bindings"/>
               <inject bean="Ports03Bindings"/>
               <inject bean="Ports04Bindings"/>
            </set>
         </parameter>

 第二处,在<bean name="Ports03Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">结束标签之后增加一段:

   <bean name="Ports04Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
      <constructor>
         <!--  The name of the set -->
         <parameter>ports-04</parameter>
         <!-- Default host name -->
         <parameter>${jboss.bind.address}</parameter>
         <!-- The port offset -->
         <parameter>400</parameter>
         <!-- Set of bindings to which the "offset by X" approach can't be applied -->
         <parameter><null/></parameter>
      </constructor>
   </bean>

 

  相关解决方案