메뉴 건너뛰기

tnt_os

2008/08/27 13:23

This content is to describe how to change JBoss Application Server's port.
한꺼번에 JBoss AS의 적용 포트를 변경하는 방법을 설명합니다.
JBoss가 사용하는 포트는 이미 이전 글에서 설명되어 있습니다.

JBoss의 서비스 포트를 일률적으로 변경하고 싶은 경우 다음의 절차를 진행하십시오.
1. $SERVER_HOME/conf/jboss-service.xml 파일을 엽니다.
해당 파일의 service binding 영역을 찾아 주석을 풀도록 합니다.

<!-- ==================================================================== -->
   <!-- Service Binding                                                      -->
   <!-- ==================================================================== -->

   <!-- Automatically activated when generatting the clustering environment -->
   <!-- @TESTSUITE_CLUSTER_CONFIG@ -->

   <!--
      | Binding service manager for port/host mapping. This is a sample
      | config that demonstrates a JBoss instances with a server name 'ports-01'
      | loading its bindings from an XML file using the ServicesStoreFactory
      | implementation returned by the XMLServicesStoreFactory.
      |
      | ServerName: The unique name assigned to a JBoss server instance for
      | lookup purposes. This allows a single ServicesStore to handle mulitiple
      | JBoss servers.
      |
      | StoreURL: The URL string passed to org.jboss.services.binding.ServicesStore
      | during initialization that specifies how to connect to the bindings store.
      | StoreFactory: The org.jboss.services.binding.ServicesStoreFactory interface
      | implementation to create to obtain the ServicesStore instance.

   <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>
   -->

위의 설정파일에서는 port를 변경할 수 있는 파일이 sample-bindings.xml 에 정의되어 있다는 내용이 있습니다. 위의 파일 위치에 있는 설정 파일을 여십시오..

2. bindings.xml 파일을 열어 ServerName의 ports-01에 해당하는 태그를 찾습니다. 500라인 부근에 ports-01 속성값들이 해당 서버의 port정보를 모두 담고 있습니다. 필요한 port로 바꾸도록 합니다.

<!-- ********************************************************** -->
   <!-- *                          ports-01                      * -->
   <!-- ********************************************************** -->
   <server name="ports-01">

      <!-- EJB3 Remoting Connector ejb3.deployer/META-INF/jboss-service.xml -->

      <service-config name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3" delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
        <delegate-config>
           <attribute name="InvokerLocator">socket://${jboss.bind.address}:3973</attribute>
        </delegate-config>
         <binding port="3973"/>
      </service-config>

      <!-- ********************* jboss-service.xml ****************** -->

      <service-config name="jboss:service=Naming" delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
         <delegate-config portName="Port" hostName="BindAddress">
            <attribute name="RmiPort">1198</attribute>
         </delegate-config>
         <binding port="1199" host="${jboss.bind.address}"/>
      </service-config>


      <service-config name="jboss:service=WebService" delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
         <delegate-config portName="Port"/>
         <binding port="8183"/>
      </service-config>

      <service-config name="jboss:service=invoker,type=jrmp" delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
         <delegate-config portName="RMIObjectPort"/>
         <binding port="4544"/>
      </service-config>


      <service-config name="jboss:service=invoker,type=pooled" delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
         <delegate-config portName="ServerBindPort"/>
         <binding port="4545"/>
      </service-config>

이하 생략
. . . . .

위의 xml tag 중 ServerName에 해당하는 값은 각 파일간에 서로 매핑되어 있어야 함은 당연합니다.

위로