제2장 JEUS 6.x에서 7로 업그레이드

내용 목차

2.1. 개요
2.2. 업그레이드 툴을 통한 이전 방식
2.3. 서버 설정 이전
2.3.1. 서버 설정 이전 대상
2.3.2. 라이브러리 이전
2.4. 애플리케이션 이전
2.5. 스크립트 변경
2.5.1. 제공하지 않는 스크립트
2.5.2. 스크립트 변경
2.6. 클라이언트 애플리케이션

본 장에서는 JEUS 6.x 버전을 JEUS 7로 업그레이드할 때 주의해야 할 설정들과 해당 설정들의 구체적인 이전 과정에 대해 설명한다. 또한, 업그레이드 툴을 이용하여 이전을 진행하는 과정에 대해서도 설명한다.

2.1. 개요

JEUS 6에서 JEUS 7로 이전하기 위해서는 크게 다음과 같은 과정을 거쳐야 한다.

  • JEUS 6 환경에서 구성한 노드-컨테이너 구성을 바탕으로 JEUS 7 도메인을 구성한다.

  • JEUS 6 환경에서 사용하는 각종 설정 파일을 이용하여 JEUS 7 설정 파일을 생성한다.

  • JEUS 6 환경에서 구동하던 애플리케이션을 새롭게 구성한 JEUS 7 도메인에 설치, 배포한다

다음 절부터는 도메인 구성과 설정 과정 중 필요한 부분에 대해 설명한다.

2.2. 업그레이드 툴을 통한 이전 방식

업그레이드 툴(upgrade6to7)에 대한 자세한 사용법 및 옵션은 “Appendix A. 업그레이드 툴”에 설명되어 있으며, 본 절에서는 간단한 사용법을 소개한다.

업그레이드 툴은 기본적으로 JEUS 6 설치 디렉터리와 JEUS 7 설치 디렉터리를 인자로 받아 동작한다. JEUS 6 설치 디렉터리를 검색하여 구성되어 있는 모든 노드에 대한 정보 및 설정을 읽어들인 후, 이를 이용하여 JEUS 7 도메인을 구성한다.

upgrade6to7 -source ${JEUS6_HOME} -target ${JEUS7_HOME}

2.3. 서버 설정 이전

서버 설정 이전이란 서버의 설정을 구성하는 XML 파일 등을 변환하여 이전하는 동작을 말하며, JEUSMain.xml, EJBMain.xml, WEBMain.xml, JMSMain.xml, accounts.xml, policies.xml와 같은 설정 파일을 포함한다.

JEUS 7에서는 JEUSMain.xml, EJBMain.xml, WEBMain.xml, JMSMain.xml로 나누어져 있던 설정이 domain.xml로 합쳐졌기 때문에 이를 종합하여 domain.xml에 설정을 해야 한다.

2.3.1. 서버 설정 이전 대상

서버 설정 이전의 경우 변환이 필요한 파일들과 대상은 다음과 같다.

  • JEUS6_HOME/config/NODE_NAME/JEUSMain.xml

    → JEUS7_HOME/domains/DOMAIN_NAME/config/domain.xml

  • JEUS6_HOME/config/NODE_NAME/EJB_ENGINE_NAME/EJBMain.xml

    → JEUS7_HOME}/domains/DOMAIN_NAME/config/domain.xml

  • JEUS6_HOME/config/NODE_NAME/JMS_ENGINE_NAME/JMSMain.xml

    → JEUS7_HOME/domains/DOMAIN_NAME/config/domain.xml

  • JEUS6_HOME/config/NODE_NAME/SERVLET_ENGINE_NAME/WEBMain.xml

    → JEUS7_HOME/domains/DOMAIN_NAME/config/domain.xml

다음 파일들은 변환할 필요는 없지만 해당 디렉터리로 복사되어야 한다.

  • JEUS6_HOME/config/NODE_NAME/SERVLET_ENGINE_NAME/web.xml

    → JEUS7_HOME/domains/DOMAIN_NAME/config/servlet/SERVER_NAME/web.xml

  • JEUS6_HOME/config/NODE_NAME/SERVLET_ENGINE_NAME/webcommon.xml

    → JEUS7_HOME/domains/DOMAIN_NAME/config/servlet/SERVER_NAME/webcommon.xml

업그레이드 툴은 각 설정 파일을 읽어 domain.xml을 구성해 준다.

2.3.2. 라이브러리 이전

JEUS 6.x의 애플리케이션에서 사용하는 사용자 클래스 파일 및 라이브러리들을 다음의 JEUS 7 경로로 복사한다.

  • JEUS6_HOME/lib/application

    → JEUS7_HOME/domains/DOMAIN_NAME/lib/application

2.4. 애플리케이션 이전

Java EE 표준은 하위 호환을 지원하므로, Java EE 표준을 준수하여 작성한 애플리케이션은 JEUS deployment descriptor만 변환하면 큰 문제없이 JEUS 7에서 사용할 수 있다. JEUS deployment descriptor 호환 문제로 인해 애플리케이션 배치에 문제가 있을 경우 deploy-application 명령어의 'upgrade' 옵션을 사용하여 배치를 시도할 수 있다. 해당 명령어에 대한 자세한 사항은 JEUS Reference Book”의 “4.2.6.4. deploy-application”을 참고한다.

2.5. 스크립트 변경

JEUS에서 제공하는 스크립트는 JEUS 6.x와 JEUS 7 모두 JEUS_HOME/bin 디렉터리에 위치한다.

본 절에서는 JEUS 6.x에서 제공되었지만 JEUS 7에서는 제공되지 않는 스크립트 및 다른 스크립트의 기능으로 통합된 스크립트가 어떤 것인지 있는지, 그리고 별도로 스크립트를 작성한 경우 어떤식으로 수정해야 하는지 설명한다.

2.5.1. 제공하지 않는 스크립트

다음의 스크립트들은 JEUS 7에서 더 이상 제공하지 않는다.

  • jmsadmin

    • JEUS 7에서는 jmsadmin이 제공하는 기능이 jeusadmin으로 통합되었다.

2.5.2. 스크립트 변경

  • JEUS 기동 스크립트

    JEUS 6.x에서는 아래와 같이 jeus 스크립트를 사용하여 JEUS를 기동하였다.

    jeus -U<user_name> -P <password>

    JEUS 7에서는 아래와 같이 기동 스크립트를 제공한다. Domain Admin Server(DAS)를 기동할 때와 Managed server를 기동할 때 사용하는 스크립트가 다른 점에 유의한다.

    startDomainAdminServer -u <user_name> -p <password> (DAS 기동)
    startManagedServer -u <user_name> -p <password> ... (Managed server 기동)
  • JEUS 서버 종료 스크립트

    JEUS 6을 종료할 때는 jeusadmin을 사용하여 종료하였다.

    jeusadmin <node_name> -U<user_name> -P<password> jeusexit

    JEUS 7에서는 서버 종료를 위해 별도 스크립트를 제공한다.

    stopServer -host <host:port> -u <user_name> -p <password>

    참고

    서버 종료 스크립트를 실행하는 경우 host와 port는 종료할 서버의 주소와 기본 포트를 사용해야 한다.

  • jeusadmin

    JEUS 6과 스크립트 이름은 동일하나 사용법이 약간 달라졌다. nodename을 사용하지 않으며, 접속하고자 하는 서버의 주소 및 포트를 사용한다. 주소와 포트를 지정하지 않은 경우 localhost:9736으로 접속을 시도한다.

    jeusadmin -u <user_name> -p <password> -host 127.0.0.1 -port 9736

2.6. 클라이언트 애플리케이션

JEUS 7이 JEUS 6에 비해 매우 많은 점이 변경된 관계로, JEUS 6에서 작성했던 클라이언트 애플리케이션이 JEUS 7에서는 동작하지 않을 수도 있다. 이런 경우에는 클라이언트 애플리케이션을 새로 작성하거나 수정해야 한다.

  • JEUS 7부터 MBean을 나타내는 object name 형식이 변경되었고, 많은 MBean API가 추가 또는 삭제/변경된 관계로 JEUS 6에서 작성한 MBean 모니터링 클라이언트를 JEUS 7에서 그대로 사용할 수는 없다.

클라이언트 애플리케이션을 작성할 때 사용할 jclient.jar, jclient_jaxb.jar 등의 라이브러리는 아래 경로에서 찾을 수 있다.

JEUS7_HOME/lib/client