Red Hat JBoss Enterprise Application Platform 시작하기
Red Hat JBoss Enterprise Application Platform으로 신속하게 가동 및 실행 가능. 기본 설치, 관리 및 구성과 같은 관리 작업을 알아봅니다. JBoss EAP 빠른 시작을 사용하여 Jakarta EE 애플리케이션 작성을 시작합니다.
초록
JBoss EAP 문서에 대한 피드백 제공
오류를 보고하거나 문서를 개선하기 위해 Red Hat Jira 계정에 로그인하여 문제를 제출하십시오. Red Hat Jira 계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.
프로세스
- 티켓을 생성하려면 다음 링크를 클릭하십시오.
- 요약 에 문제에 대한 간략한 설명을 입력합니다.
- 설명에서 문제 또는 개선 사항에 대한 자세한 설명을 제공합니다. 문서에서 문제가 발생한 위치에 URL을 포함합니다.
- Submit 을 클릭하고 문제를 적절한 문서 팀으로 라우팅합니다.
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 사항은 향후 릴리스에 걸쳐 점진적으로 구현될 예정입니다. 언어를 보다 포괄적으로 만드는 방법에 대한 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. JBoss EAP 관리
1.1. JBoss EAP 다운로드 및 설치
.zip
파일 옵션은 JBoss EAP를 다운로드하고 설치하는 빠른 플랫폼 독립적인 방법입니다.
1.1.1. JBoss EAP 다운로드
JBoss EAP를 설치하려면 먼저 JBoss EAP .zip
파일을 다운로드해야 합니다.
사전 요구 사항
- 시스템이 JBoss EAP 지원 구성 을 충족하는지 확인합니다.
- 최신 업데이트 및 에라타 패치를 설치합니다.
- 설치 디렉터리에 대한 읽기 및 쓰기 액세스를 설정합니다.
- 원하는 JDK(Java Development Kit)를 설치합니다.
-
선택 사항:
JAVA_HOME
및PATH
환경 변수를 설정합니다.
프로세스
- Red Hat 고객 포털에 로그인합니다.
- 다운로드를 클릭합니다.
- 제품 다운로드 목록에서 Red Hat JBoss Enterprise Application Platform 을 클릭합니다.
- 버전 드롭다운 메뉴에서 8.0 을 선택합니다.
목록에서 Red Hat JBoss Enterprise Application Platform 8.0 을 찾아 다운로드 링크를 클릭합니다.
'.zip' 파일이 시스템에 다운로드됩니다.
추가 리소스
1.1.2. JBoss EAP 설치
원하는 파일 위치로 패키지 콘텐츠를 추출하여 JBoss EAP .zip
파일을 설치할 수 있습니다.
사전 요구 사항
- JBoss EAP를 다운로드합니다.
- 시스템이 JBoss EAP 지원 구성 을 충족하는지 확인합니다.
- 최신 업데이트 및 에라타 패치를 설치합니다.
- 설치 디렉터리에 대한 읽기 및 쓰기 액세스를 설정합니다.
- 원하는 JDK(Java Development Kit)를 설치합니다.
-
선택 사항:
JAVA_HOME
및PATH
환경 변수를 설정합니다.
프로세스
-
JBoss EAP를 설치할 서버 및 위치로
.zip
파일을 이동합니다. .zip
파일을 추출합니다.Linux에서 다음 명령을 사용합니다.
$ unzip jboss-eap-8.0.0.zip
Windows Server에서
.zip
파일을 마우스 오른쪽 버튼으로 클릭하고 Extract All 을 선택합니다..zip
파일을 추출하여 생성된 디렉터리는 JBoss EAP 설치의 최상위 디렉토리입니다. 이 디렉터리를EAP_HOME
이라고 합니다.
1.2. JBoss EAP 시작 및 중지
JBoss EAP를 시작하는 방법은 JBoss EAP를 독립 실행형 서버로 실행하는지 또는 관리형 도메인의 서버에서 실행 중인지에 따라 달라집니다.
JBoss EAP를 중지하는 방법은 JBoss EAP의 대화형 또는 백그라운드 인스턴스를 실행 중인지에 따라 다릅니다.
1.2.1. JBoss EAP를 독립 실행형 서버로 시작
JBoss EAP를 독립 실행형 서버로 실행하여 JBoss EAP의 단일 인스턴스를 관리할 수 있습니다.
서버는 일시 중지된 상태로 시작되고 필요한 모든 서비스가 시작될 때까지 요청을 수락하지 않습니다. 필수 서비스가 시작되면 서버가 일반 실행 상태로 전환되고 요청을 수락할 수 있습니다.
이 시작 스크립트는 EAP_HOME/bin/standalone.conf
파일 또는 Windows Server의 standalone.conf.
skip를 사용하여 JVM 옵션과 같은 기본 설정을 설정합니다. 이 파일에서 설정을 사용자 지정할 수 있습니다.
터미널에서 시작 스크립트 인수 목록을 보려면 --help
인수를 사용합니다.
JBoss EAP는 기본적으로 standalone.xml
구성 파일을 사용하지만 다른 파일을 사용하여 시작할 수 있습니다.
사전 요구 사항
- JBoss EAP를 설치합니다.
프로세스
- 터미널을 엽니다.
다음 스크립트를 사용하여 JBoss EAP를 독립 실행형 서버로 시작합니다.
$ EAP_HOME/bin/standalone.sh
-
Windows Server의 경우
EAP_HOME\bin\standalone.extension 스크립트를
사용합니다.
-
Windows Server의 경우
추가 리소스
1.2.2. 관리형 도메인에서 서버용 JBoss EAP 시작
관리형 도메인 운영 모드에서 JBoss EAP를 실행하여 단일 도메인 컨트롤러를 사용하여 여러 JBoss EAP 인스턴스를 관리할 수 있습니다.
서버는 일시 중단된 상태로 시작하고 필요한 모든 서비스가 시작될 때까지 요청을 수락하지 않습니다. 필수 서비스가 시작되면 서버는 일반 실행 상태로 전환되고 요청을 수락하기 시작합니다.
도메인의 서버 그룹보다 먼저 도메인 컨트롤러를 시작해야 합니다.
사전 요구 사항
- JBoss EAP를 설치합니다.
프로세스
- 터미널을 엽니다.
먼저 도메인 컨트롤러를 시작한 다음 다음 스크립트를 사용하여 연결된 각 호스트 컨트롤러를 시작합니다.
$ EAP_HOME/bin/domain.sh
-
Windows Server의 경우
EAP_HOME\bin\domain.#159 스크립트를
사용합니다.
-
Windows Server의 경우
이 시작 스크립트는 EAP_HOME/bin/domain.conf
파일 또는 Windows Server의 경우 domain.conf.
#159를 사용하여 JVM 옵션과 같은 기본 기본 설정을 설정합니다. 이 파일에서 설정을 사용자 지정할 수 있습니다.
JBoss EAP는 기본적으로 host.xml
호스트 구성 파일을 사용하지만 다른 구성 파일을 사용하여 시작할 수 있습니다.
관리형 도메인을 설정할 때 시작 스크립트에 추가 인수를 전달해야 합니다.
사용 가능한 모든 시작 스크립트 인수의 전체 목록을 보려면 --help
인수를 사용합니다.
추가 리소스
1.2.3. JBoss EAP의 대화형 인스턴스 중지
독립 실행형 서버의 대화형 인스턴스 또는 도메인 컨트롤러를 시작한 터미널에서 중지할 수 있습니다.
사전 요구 사항
- 실행 중인 JBoss EAP 인스턴스가 있어야 합니다.
프로세스
-
JBoss EAP를 시작한 터미널에서
Ctrl+C
를 누릅니다.
1.2.4. JBoss EAP의 백그라운드 인스턴스 중지
관리 CLI에 연결하여 관리형 도메인에서 독립 실행형 서버 또는 서버의 실행 중인 인스턴스를 종료할 수 있습니다.
사전 요구 사항
- 터미널에서 실행 중인 JBoss EAP 인스턴스가 있어야 합니다.
프로세스
다음 스크립트를 사용하여 관리 CLI를 시작합니다.
$ EAP_HOME/bin/jboss-cli.sh --connect
shutdown
명령을 실행합니다.shutdown
관리형 도메인의 서버에서 JBoss EAP의 인스턴스를 실행하는 경우 shutdown
명령과 함께 --host
인수를 사용하여 종료할 호스트 이름을 지정해야 합니다.
1.3. JBoss EAP 관리
명령줄 관리 CLI, 웹 기반 관리 콘솔, Java API 또는 HTTP API를 사용하여 JBoss EAP를 구성할 수 있습니다. 이러한 관리 인터페이스를 사용하여 변경한 내용은 자동으로 유지되며 관리 API는 XML 구성 파일을 덮어씁니다. 관리 CLI 및 관리 콘솔은 기본 방법이며 XML 구성 파일을 수동으로 편집하지 않는 것이 좋습니다.
JBoss EAP는 관리형 도메인의 독립 실행형 서버 또는 서버당 하나의 구성 파일을 사용하여 단순화된 구성을 사용합니다.
-
독립 실행형 서버에 대한 기본 구성은
EAP_HOME/standalone/configuration/standalone.xml
파일에 저장됩니다. -
관리형 도메인의 서버에 대한 기본 구성은
EAP_HOME/domain/configuration/domain.xml
파일에 저장됩니다. -
호스트 컨트롤러에 대한 기본 구성은
EAP_HOME/domain/configuration/host.xml
파일에 저장됩니다.
1.3.1. 관리 사용자
관리 CLI에 원격으로 액세스하거나 로컬 호스트에서 트래픽이 시작된 경우에도 원격 액세스로 간주되는 관리 콘솔을 사용하려면 관리 사용자를 추가해야 합니다. 관리 사용자를 추가하기 전에 관리 콘솔에 액세스하려고 하면 오류 메시지가 표시됩니다.
기본 JBoss EAP 구성은 사용자가 인증하지 않고도 로컬 호스트의 관리 CLI에 액세스할 수 있도록 로컬 인증을 제공합니다.
그래픽 설치 프로그램을 사용하여 JBoss EAP를 설치하는 경우 그래픽 설치 프로그램은 설치 프로세스 중에 관리 사용자를 생성합니다.
1.3.2. 관리 사용자 추가
즉시 인증을 위해 새 사용자를 속성 파일에 추가하는 유틸리티인 add-user
스크립트를 사용하여 JBoss EAP에 대한 관리 사용자를 추가할 수 있습니다.
사전 요구 사항
- JBoss EAP를 설치했습니다.
프로세스
- 관리 CLI를 시작합니다.
add-user
유틸리티 스크립트를 실행하고 프롬프트를 따릅니다.$ EAP_HOME/bin/add-user.sh
-
Windows Server의 경우
EAP_HOME\bin\add-user.extension 스크립트를
사용합니다.
-
Windows Server의 경우
Enter를 눌러 기본 옵션
a
를 선택하여 관리 사용자를 추가합니다.그러면 사용자가 ManagementRealm 에 추가되고 관리 콘솔 또는 관리 CLI를 사용하여 관리 작업을 수행할 수 있도록 사용자에게 권한을 부여합니다. 다른 선택 사항인
b
는 애플리케이션에 사용되며 특정 권한을 제공하지 않는 ApplicationRealm 에 사용자를 추가합니다.사용자 이름과 암호를 입력합니다. 메시지가 표시되면 암호를 확인해야 합니다.
참고사용자 이름은 임의의 숫자 및 순서로 다음 문자만 포함할 수 있습니다.
- 영숫자 (a-z, A-Z, 0-9)
- 대시(-), 마침표(.), 쉼표(,), at sign(@)
- 백슬래시(\)
- 동일 (=)
기본적으로 JBoss EAP는 약한 암호를 허용하지만 경고와 함께 사용할 수 있습니다.
- 사용자가 속한 쉼표로 구분된 그룹 목록을 입력합니다. 사용자가 그룹에 속하지 않도록 하려면 Enter 키를 눌러 비워 둡니다.
- 정보를 검토하고 yes 를 입력하여 확인합니다.
이 사용자가 원격 JBoss EAP 서버 인스턴스를 나타내는지 확인합니다. 기본 관리 사용자의 경우 no 를 입력합니다.
도메인 컨트롤러에 연결해야 하는 호스트 컨트롤러를 나타내는 ManagementRealm 에 사용자를 추가하는 경우 이 프롬프트에 yes 로 응답합니다. 호스트 컨트롤러의
host*.xml
파일에 추가해야 하는 사용자 암호를 나타내는 인코딩된 시크릿 값이 제공됩니다.
매개 변수를 add-user
스크립트에 전달하여 비대화형으로 사용자를 생성할 수 있습니다. 이 접근 방식은 로그 및 기록 파일에 암호가 표시되므로 공유 시스템에서 권장되지 않습니다.
추가 리소스
1.3.3. 비대화형으로 추가 사용자 유틸리티 실행
명령줄에서 인수를 전달하여 add-user
스크립트를 비대화형으로 실행할 수 있습니다. 최소한 사용자 이름과 암호를 제공해야 합니다.
이 방법은 암호는 로그 및 기록 파일에 표시되므로 공유 시스템에서 권장되지 않습니다.
여러 그룹에 속하는 사용자 생성
다음 명령은 guest
및 mgmtgroup
그룹과 함께 관리 사용자 mgmtuser1
을 추가합니다.
$ EAP_HOME/bin/add-user.sh -u 'mgmtuser1' -p 'password1!' -g 'guest,mgmtgroup'
대체 속성 파일 지정
기본적으로 add-user
스크립트를 사용하여 생성된 사용자 및 그룹 정보는 서버 구성 디렉터리에 있는 속성 파일에 저장됩니다.
사용자 정보는 다음 속성 파일에 저장됩니다.
-
EAP_HOME/standalone/configuration/mgmt-users.properties
-
EAP_HOME/domain/configuration/mgmt-users.properties
그룹 정보는 다음 속성 파일에 저장됩니다.
-
EAP_HOME/standalone/configuration/mgmt-groups.properties
-
EAP_HOME/domain/configuration/mgmt-groups.properties
다음 명령은 사용자 속성 파일에 다른 이름과 위치를 지정하는 새 사용자를 추가합니다.
$ EAP_HOME/bin/add-user.sh -u 'mgmtuser2' -p 'password1!' -sc '/path/to/standaloneconfig/' -dc '/path/to/domainconfig/' -up 'newname.properties'
새 사용자가 /path/to /standaloneconfig/newname.properties
및/path/to/ domainconfig/newname.properties 에있는 사용자 속성
파일에 추가되었습니다. 이러한 파일이 이미 존재하거나 오류가 표시됩니다.
사용 가능한 모든 add-user
인수의 전체 목록을 보려면 --help
인수를 사용합니다.
추가 리소스
1.3.4. 관리 CLI
관리 CLI(명령줄 인터페이스)는 JBoss EAP의 명령줄 관리 툴입니다.
관리 CLI를 사용하여 서버를 시작 및 중지하고, 애플리케이션을 배포 및 제거하고, 시스템 설정을 구성하고, 기타 관리 작업을 수행합니다. 배치 모드에서 작업을 수행하여 여러 작업을 그룹으로 실행할 수 있습니다.
ls
(list), cd
(change directory), pwd
(프린트 작업 디렉터리)와 같은 많은 일반적인 터미널 명령을 사용할 수 있습니다. 관리 CLI는 탭 완료도 지원합니다.
관리 CLI 시작
$ EAP_HOME/bin/jboss-cli.sh
Windows Server의 경우 EAP_HOME\bin\jboss-cli.extension 스크립트를
사용합니다.
실행 중인 서버에 연결
connect
관리 CLI를 시작하고 EAP_HOME/bin/jboss-cli.sh --connect
명령을 사용하여 한 단계로 연결할 수 있습니다.
도움말 표시
일반적인 도움말을 위해 다음 명령을 사용하십시오.
help
명령에 --help
플래그를 사용하여 해당 특정 명령을 사용하는 방법에 대한 지침을 받습니다. 예를 들어 deploy
사용에 대한 정보를 받으려면 다음 명령을 사용합니다.
deploy --help
관리 CLI 종료
관리 CLI를 종료하려면 다음 명령을 사용합니다.
quit
시스템 설정 보기
다음 명령은 read-attribute
작업을 사용하여 예제 데이터 소스가 활성화되었는지 여부를 표시합니다.
/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled) { "outcome" => "success", "result" => true }
관리형 도메인에서 서버를 실행하는 경우 명령 앞에 /profile=PROFILE_NAME
을 사용하여 업데이트할 프로필을 지정해야 합니다.
/profile=default/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled)
하위 시스템 구성 보기
다음 명령은 read-resource-description
작업을 사용하여 리소스가 필요한지 여부, 속성 교체 등을 포함하는 지정된 하위 시스템 구성에 대한 설명을 표시합니다.
/subsystem=datasources:read-resource-description(recursive=true)
시스템 설정 업데이트
다음 명령은 write-attribute
작업을 사용하여 예제 데이터 소스를 비활성화합니다.
/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled,value=false)
서버 시작
관리형 도메인에서 실행할 때 다음 명령을 사용하여 서버를 시작하고 중지합니다.
/host=HOST_NAME/server-config=server-one:start
1.3.5. 관리 콘솔
관리 콘솔은 JBoss EAP를 위한 웹 기반 관리 툴입니다.
관리 콘솔을 사용하여 서버를 시작 및 중지하고, 애플리케이션을 배포 및 제거하고, 시스템 설정을 조정하며, 서버 구성을 영구적으로 수정합니다. 관리 콘솔은 사용자가 서버를 다시 시작하거나 다시 로드해야 하는 변경을 수행할 때 실시간 알림을 사용하여 관리 작업을 수행할 수도 있습니다.
관리형 도메인에서 동일한 도메인의 서버 인스턴스 및 서버 그룹은 도메인 컨트롤러의 관리 콘솔에서 중앙 집중식으로 관리됩니다.
기본 관리 포트를 사용하여 로컬 호스트에서 실행되는 JBoss EAP 인스턴스의 경우 http://localhost:9990/console/index.html 에서 웹 브라우저를 통해 관리 콘솔에 액세스할 수 있습니다. 관리 콘솔에 액세스할 수 있는 권한이 있는 사용자 역할로 인증해야 합니다.
관리 콘솔은 JBoss EAP 독립 실행형 서버 또는 관리형 도메인을 탐색하고 관리하기 위한 다음 탭을 제공합니다.
- 홈
- 몇 가지 일반적인 구성 및 관리 작업을 수행하는 방법을 알아봅니다. JBoss EAP 관리 콘솔에 익숙해지려면 둘러보기를 확인하십시오.
- 배포
- 배포를 추가, 제거 및 활성화합니다. 관리형 도메인에서 서버 그룹에 배포를 할당합니다.
- 설정
- 웹 서비스, 메시징 또는 고가용성과 같은 기능을 제공하는 사용 가능한 하위 시스템을 구성합니다. 관리형 도메인에서 다른 하위 시스템 구성이 포함된 프로필을 관리합니다.
- 런타임
- 서버 상태, JVM 사용량 및 서버 로그와 같은 런타임 정보를 확인합니다. 관리형 도메인에서 호스트, 서버 그룹 및 서버를 관리합니다.
- 패치
- JBoss EAP 인스턴스에 패치를 적용합니다.
- 액세스 제어
- 역할 기반 액세스 제어를 사용할 때 사용자 및 그룹에 역할을 할당합니다.
1.3.5.1. 관리 콘솔에서 리소스 속성 업데이트
필요한 권한이 있는 경우 관리 콘솔에서 리소스 속성을 편집할 수 있습니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 선택한 리소스를 수정할 수 있는 적절한 권한이 있습니다.
- 사용자를 생성했습니다.
프로세스
- 관리 콘솔에 로그인합니다. 기본 포트에서 실행되는 로컬 서버의 경우 http://localhost:9990/console/index.html 에서 관리 콘솔에 액세스할 수 있습니다.
- 수정할 리소스에 대한 관리 콘솔의 적절한 섹션으로 이동합니다.
- 편집을 클릭합니다.
필요한 변경을 수행합니다.
필수 필드는 별표(*)로 표시됩니다. 도움말 을 클릭하여 속성 설명을 볼 수 있습니다.
참고특성 유형에 따라 입력 필드는 텍스트 필드, ON/OFF 필드 또는 드롭다운일 수 있습니다. 일부 텍스트 필드에서 를 입력하면 구성의 다른 위치에서의 값이 제안 사항으로 표시될 수 있습니다.
- 저장을 클릭합니다.
필요한 경우 변경 사항을 적용하려면 서버를 다시 로드합니다.
적용하기 위해 다시 로드해야 하는 변경을 수행할 때 팝업 창이 열립니다. 독립 실행형 서버를 다시 로드하려면 팝업 창에서 다시 로드 를 클릭합니다. 관리형 도메인에서 서버를 다시 로드하려면 토폴로지 를 클릭하고 적절한 서버를 선택한 다음 드롭다운 목록에서 다시 로드 를 선택합니다.
수행한 최근 구성 작업의 기록을 보려면 알림 아이콘을 클릭합니다.
1.3.5.2. 관리 콘솔 활성화 또는 비활성화
/core-service=management/management-interface=http-interface
리소스의 console-enabled
부울 속성을 설정하여 관리 콘솔을 활성화하거나 비활성화할 수 있습니다. 도메인 모드의 마스터 호스트의 경우 /host=master/core-service=management/management-interface=http-interface
를 사용합니다.
관리 콘솔을 활성화하거나 비활성화한 후에는 JBoss EAP 인스턴스를 다시 시작하거나 다시 로드해야 합니다.
관리 콘솔 활성화 예
/core-service=management/management-interface=http-interface:write-attribute(name=console-enabled,value=true)
관리 콘솔 예
/core-service=management/management-interface=http-interface:write-attribute(name=console-enabled,value=false)
1.3.5.3. 관리 콘솔의 언어 변경
기본적으로 관리 콘솔의 언어 설정은 영어입니다. 대신 다음 언어 중 하나를 사용하도록 선택할 수 있습니다.
- 독일어(de)
- 중국어 간체 (zh-Hans)
- 브라질 포르투갈어 (pt-BR)
- 프랑스어(fr)
- 스페인어 (es)
- 일본어 (ja)
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 사용자를 생성했습니다.
프로세스
- 관리 콘솔에 로그인합니다. 기본 포트에서 실행되는 로컬 서버의 경우 http://localhost:9990/console/index.html 에서 관리 콘솔에 액세스할 수 있습니다.
- 설정을 클릭합니다.
- Locale 목록에서 필요한 언어를 선택합니다.
- 저장을 클릭합니다. 확인 상자에 애플리케이션을 다시 로드해야 함을 알려줍니다.
- 예를 클릭합니다. 선택한 로케일을 사용하도록 웹 브라우저를 자동으로 새로 고칩니다.
1.3.5.4. 관리 콘솔 제목 사용자 정의
각 JBoss EAP 인스턴스를 빠르고 쉽게 식별할 수 있도록 관리 콘솔 제목을 사용자 지정할 수 있습니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
- 사용자를 생성했습니다.
프로세스
- 관리 콘솔에 로그인합니다. 기본 포트에서 실행되는 로컬 서버의 경우 http://localhost:9990/console/index.html 에서 관리 콘솔에 액세스할 수 있습니다.
- 설정을 클릭하고 제목 필드의 제목 을 수정합니다.
저장을 클릭합니다.
확인 상자에 관리 콘솔을 다시 로드해야 함을 알려줍니다.
예를 클릭합니다.
시스템이 웹 브라우저를 자동으로 새로 고치고 새 제목이 탭 헤더에 표시됩니다.
1.3.6. 독립 실행형 서버 구성 파일
독립 실행형 구성 파일은 EAP_HOME/standalone/configuration/
디렉터리에 있습니다. 사전 정의된 5개의 프로필(기본값, ha, full ,full -ha ,load-balancer) 각각에 대해 별도의 파일이 있습니다. 다음은 JBoss EAP를 시작할 때 관리 CLI를 사용하여 수정할 수 있는 구성 파일의 예입니다.
표 1.1. 독립 실행형 구성 파일
구성 파일 | 목적 |
---|---|
| 이 독립 실행형 구성 파일은 독립 실행형 서버를 시작할 때 JBoss EAP에서 사용하는 기본 구성입니다. 이 구성은 Jakarta EE 웹 및 코어 프로필에 해당하며 하위 시스템, 네트워킹, 배포, 소켓 바인딩 및 기타 구성 가능한 세부 정보를 포함하여 서버에 대한 모든 정보를 포함합니다. 이 구성은 메시징 또는 고가용성에 필요한 하위 시스템을 제공하지 않습니다. |
|
이 독립 실행형 구성 파일에는 모든 기본 하위 시스템이 포함되어 있으며 고가용성을 위해 |
|
이 독립 실행형 구성 파일에는 모든 기본 하위 시스템이 포함되어 있으며 |
| 이 독립 실행형 구성 파일에는 메시징 및 고가용성을 위한 항목을 포함하여 가능한 모든 하위 시스템에 대한 지원이 포함됩니다. |
| 이 독립 실행형 구성 파일에는 다른 JBoss EAP 인스턴스를 로드 밸런싱하기 위해 기본 제공 mod_cluster 프런트 엔드 로드 밸런서를 사용하는 데 필요한 최소 하위 시스템이 포함되어 있습니다. |
기본적으로 JBoss EAP를 독립 실행형 서버로 시작하면 standalone.xml
파일이 사용됩니다. 다른 구성으로 JBoss EAP를 시작하려면 --server-config
인수를 사용합니다. 예를 들면 다음과 같습니다.
$ EAP_HOME/bin/standalone.sh --server-config=standalone-full.xml
1.3.7. 관리형 도메인 구성 파일
관리형 도메인 구성 파일은 EAP_HOME/domain/configuration/
디렉터리에 있습니다. 다음은 JBoss EAP를 시작할 때 관리 CLI를 사용하여 수정할 수 있는 구성 파일의 예입니다.
표 1.2. 관리형 도메인 구성 파일
구성 파일 | 목적 |
---|---|
| 관리형 도메인의 기본 구성 파일입니다. 도메인 마스터만 이 파일을 읽습니다. 이 파일에는 모든 프로필(기본값, ha, full ,full -ha ,load-balancer)에 대한 구성이 포함되어 있습니다. |
|
이 파일에는 네트워크 인터페이스, 소켓 바인딩, 호스트 이름 및 기타 호스트별 세부 정보와 같이 관리형 도메인의 물리적 호스트와 관련된 구성 세부 정보가 포함됩니다. |
|
이 파일에는 서버를 관리형 도메인 컨트롤러로 실행하는 데 필요한 구성 세부 정보만 포함됩니다. |
|
이 파일에는 서버를 관리형 도메인 호스트 컨트롤러로 실행하는 데 필요한 구성 세부 정보만 포함됩니다. 도메인 컨트롤러를 정의하지 않으며 연결할 |
기본적으로 관리형 도메인에서 JBoss EAP를 시작하면 host.xml
파일이 사용됩니다. 다른 구성으로 JBoss EAP를 시작하려면 --host-config
인수를 사용합니다. 예를 들면 다음과 같습니다.
$ EAP_HOME/bin/domain.sh --host-config=host-master.xml
1.3.8. 구성 데이터 백업
JBoss EAP 서버 구성을 복원하려면 다음 위치에서 데이터를 백업해야 합니다.
EAP_HOME/standalone/configuration/
- 전체 디렉터리를 백업하여 독립 실행형 서버의 사용자 데이터, 서버 구성 및 로깅 설정을 저장합니다.
_EAP_HOME/standalone/data
- data/content 디렉터리에 제한된 관리 배포에 대한 데이터를 백업합니다.
EAP_HOME/standalone/deployments
- 독립 실행형 서버를 위한 배포를 백업합니다.
EAP_HOME/domain/configuration/
- 사용자 및 프로필 데이터, 도메인 및 호스트 구성, 관리형 도메인의 로깅 설정을 저장하기 위해 전체 디렉터리를 백업합니다.
EAP_HOME/domain/data
- 데이터/콘텐츠 디렉터리에 제한된 관리형 도메인에서 관리형 도메인 및 배포에 대한 데이터를 백업합니다.
EAP_HOME/modules/
- 사용자 지정 모듈을 백업합니다.
EAP_HOME/welcome-content/
- 사용자 정의 시작 콘텐츠를 백업합니다.
EAP_HOME/bin/
- 사용자 지정 스크립트 또는 시작 구성 파일을 백업합니다.
1.3.9. 구성 파일 스냅샷
서버의 유지 관리 및 관리를 지원하기 위해 JBoss EAP는 시작 시 원본 구성 파일의 타임스탬프가 지정된 버전을 생성합니다.
관리 작업에서 변경한 추가 구성 변경으로 인해 원래 파일이 자동으로 백업되고 참조 및 롤백을 위해 인스턴스의 작업 사본이 보존됩니다. 또한 현재 서버 구성의 지정 시간 복사본인 구성 스냅샷을 가져올 수 있습니다. 이러한 스냅샷은 관리자가 저장하고 로드할 수 있습니다.
다음 예제에서는 standalone.xml
파일을 사용하지만 domain.xml
및 host.xml
파일에 동일한 프로세스가 적용됩니다.
스냅샷 가져오기
관리 CLI를 사용하여 현재 구성의 스냅샷을 만듭니다.
:take-snapshot
{
"outcome" => "success",
"result" => "EAP_HOME/standalone/configuration/standalone_xml_history/snapshot/20151022-133109702standalone.xml"
}
스냅샷 나열
관리 CLI를 사용하여 모든 스냅샷을 나열합니다.
:list-snapshots
{
"outcome" => "success",
"result" => {
"directory" => "EAP_HOME/standalone/configuration/standalone_xml_history/snapshot",
"names" => [
"20151022-133109702standalone.xml",
"20151022-132715958standalone.xml"
]
}
}
스냅샷 삭제
관리 CLI를 사용하여 스냅샷을 삭제합니다.
:delete-snapshot(name=20151022-133109702standalone.xml)
1.3.10. 스냅샷으로 서버 시작
스냅샷 또는 자동으로 저장된 구성 버전을 사용하여 서버를 시작할 수 있습니다.
사전 요구 사항
- JBoss EAP를 설치했습니다.
- 구성 파일의 스냅샷을 작성했습니다.
프로세스
-
EAP_HOME/standalone/configuration/standalone_xml_history
디렉터리로 이동하여 로드할 스냅샷 또는 저장된 구성 파일을 식별합니다. 서버를 시작하고 선택한 구성 파일을 가리킵니다. 구성 디렉터리인
EAP_HOME/standalone/configuration/
에 상대적인 파일 경로를 전달합니다.$ EAP_HOME/bin/standalone.sh --server-config=standalone_xml_history/snapshot/20151022-133109702standalone.xml
관리형 도메인에서 서버를 실행하는 경우 구성 파일을 지정하는 대신 --host-config
및 --domain-config=<config
> 인수를 사용합니다.
1.3.11. 속성 교체
JBoss EAP에서 표현식을 사용하여 구성에서 리터럴 값 대신 대체 가능한 속성을 정의할 수 있습니다.
standalone*.xml
또는 domain.xml
구성 파일에서 속성 교체를 사용하면 속성이 시스템 속성에 있는 값으로 교체됩니다. 시스템 속성은 EAP 프로필 xml 파일에 정의되거나 명령줄 터미널에서 -D
명령을 입력하여 정의됩니다.
지정된 하위 시스템에서 속성 교체가 허용되는지 확인하려면 다음 명령을 사용하여 하위 시스템 구성에 대한 설명을 표시합니다.
/subsystem=datasources:read-resource-description(recursive=true)
expressions-allowed
속성이 true
로 설정된 경우 속성 교체가 허용됩니다.
표현식은 ${PARAMETER:DEFAULT_VALUE}
형식을 사용합니다. 지정된 매개변수가 설정되면 매개 변수의 값이 사용됩니다. 그렇지 않으면 제공된 기본값이 사용됩니다.
식을 해결하기 위해 지원되는 소스는 시스템 속성 및 환경 변수입니다. 환경 변수를 사용하여 표현식을 확인하는 경우 ${env.LANG}
형식을 사용합니다.
standalone.xml
구성 파일의 다음 예제에서는 jboss.bind.address
매개변수를 설정하지 않는 한 공용
인터페이스에 대한 inet-address
를 127.0.0.1
로 설정합니다.
<interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface>
다음 명령을 사용하여 EAP를 독립 실행형 서버로 시작할 때 jboss.bind.address
매개변수를 설정할 수 있습니다.
$ EAP_HOME/bin/standalone.sh -Djboss.bind.address=IP_ADDRESS
배포 전용 배포의 경우 소스는 배포 아카이브의 META-INF/jboss.properties
파일에 나열된 속성일 수 있습니다. 하위 배포를 지원하는 배포 유형의 경우 속성 파일이 외부 배포에 있는 경우 모든 하위 배포에서 해상도의 범위가 지정됩니다(예: EAR). 속성 파일이 하위 배포에 있는 경우 해상도의 범위는 해당 하위 배포로만 지정됩니다.
1.3.12. 중첩된 표현식
고정 값 대신 고급 식을 사용할 수 있는 식을 중첩할 수 있습니다.You can nest expressions, which allows for more advanced use of expressions in place of fixed values.
중첩 표현식의 형식은 일반 표현식과 유사하지만 하나의 표현식은 다른 표현식에 포함됩니다. 예를 들면 다음과 같습니다.
${SYSTEM_VALUE_1${SYSTEM_VALUE_2}}
JBoss EAP는 중첩 표현식을 재귀적으로 평가하므로 내부 표현식이 먼저 평가되고 외부 표현식이 평가됩니다. 표현식은 재귀가 될 수 있습니다. 여기서 표현식은 다른 표현식으로 확인되고, 이 표현식은 확인됩니다. 관리 CLI 명령을 제외하고 표현식이 허용되는 모든 곳에 중첩 표현식이 허용됩니다.
데이터 소스 정의 암호가 마스킹된 경우 중첩 표현식을 사용할 수 있습니다. 예를 들면 다음과 같습니다. 데이터 소스에 대한 구성에는 다음 행이 있을 수 있습니다.
<password>${VAULT::ds_ExampleDS::password::1}</password>
시스템 속성(datasource_name
)은 중첩된 표현식을 사용하여 ds_ExampleDS
값을 대체합니다. 다음 줄은 데이터 소스에 대한 구성의 예입니다.
<password>${VAULT::${datasource_name}::password::1}</password>
JBoss EAP는 먼저 ${datasource_name}
표현식을 계산한 다음 이 표현식을 더 큰 표현식에 입력하고 결과 표현식을 평가합니다. 이 구성의 장점은 데이터 소스의 이름이 고정된 구성에서 추상화된다는 것입니다.
1.3.13. 배포 설명자 기반 속성 교체
배포 설명자 기반 속성 교체는 설명자를 기반으로 속성을 대체하여 애플리케이션 및 빌드 체인에서 환경에 대한 가정을 제거할 수 있습니다.
환경별 구성은 주석 또는 빌드 시스템 스크립트가 아닌 배포 설명자에 지정할 수 있습니다. 파일 또는 명령줄의 매개 변수로 구성을 제공할 수 있습니다.
데이터 소스 연결 매개 변수와 같은 애플리케이션 구성은 일반적으로 개발, 테스트 및 프로덕션 환경에 따라 다릅니다. Jakarta EE 사양에 이러한 구성을 외부화하는 방법이 포함되어 있지 않으므로 이러한 분산은 빌드 시스템 스크립트에 의해 수용되는 경우가 있습니다. JBoss EAP를 사용하면 설명자 기반 속성 교체를 사용하여 외부에서 구성을 관리할 수 있습니다.
spec-descriptor-property-replacement
플래그는 Jakarta EE 설명자 교체를 제어하고 JBoss EAP는 기본적으로 이를 비활성화합니다. 이 기능이 활성화되면 다음 배포 설명자의 속성을 교체할 수 있습니다.
-
ejb-jar.xml
-
permissions.xml
-
persistence.xml
-
application.xml
-
web.xml
다음 관리 CLI 명령을 사용하여 Jakarta EE 설명자에서 속성 교체를 활성화하거나 비활성화할 수 있습니다.
/subsystem=ee:write-attribute(name="spec-descriptor-property-replacement",value=VALUE)
jboss-descriptor-property-replacement
플래그는 JBoss 관련 설명자 교체를 제어하고 JBoss EAP는 기본적으로 이를 활성화합니다. 이 기능이 활성화되면 다음 배포 설명자의 속성을 교체할 수 있습니다.
-
jboss-ejb3.xml
-
jboss-app.xml
-
jboss-web.xml
-
jboss-permissions.xml
-
*-jms.xml
-
*-ds.xml
다음 관리 CLI 명령을 사용하여 JBoss EAP 관련 설명자에서 속성 교체를 활성화하거나 비활성화합니다.
/subsystem=ee:write-attribute(name="jboss-descriptor-property-replacement",value=VALUE)
annotation-property-replacement
플래그는 주석 내부의 속성 교체를 제어하며 기본적으로 활성화되어 있지 않습니다. 이 기능이 활성화되면 애플리케이션 클래스 내부의 주석 속성의 속성을 교체할 수 있습니다.
다음 관리 CLI 명령을 사용하여 주석에서 속성 교체를 활성화하거나 비활성화합니다.
/subsystem=ee:write-attribute(name="annotation-property-replacement",value=VALUE)
1.4. JBoss EAP 네트워크 및 포트 구성
JBoss EAP를 사용하여 다양한 서비스의 네트워크 접근성을 구성하고 포트 오프셋을 사용하여 동일한 인터페이스를 사용하여 동일한 시스템에서 여러 JBoss EAP 인스턴스를 쉽게 실행할 수 있습니다. 네트워크 구성은 인터페이스 및 소켓 바인딩에 따라 구성됩니다.
이러한 각 네트워크 및 포트 구성에 대한 다음 세부 정보를 사용하여 JBoss EAP를 성공적으로 실행합니다.
1.4.1. 인터페이스
JBoss EAP는 구성에 걸쳐 이름이 지정된 인터페이스를 참조합니다. 각 용도에 인터페이스의 전체 세부 정보가 필요하지 않고 논리 이름으로 개별 인터페이스 선언을 참조하도록 JBoss EAP를 구성할 수 있습니다.
네트워크 인터페이스 세부 정보가 여러 시스템에 따라 다를 수 있는 관리형 도메인에서 더 쉽게 구성할 수도 있습니다. 각 서버 인스턴스는 논리 이름 그룹에 대응할 수 있습니다.
standalone.xml
,domain.xml
및 host.xml
파일에는 모두 인터페이스 선언이 포함됩니다. 사용되는 기본 구성에 따라 몇 가지 사전 구성된 인터페이스 이름이 있습니다. 관리
인터페이스는 HTTP 관리 끝점을 포함하여 관리 계층이 필요한 모든 구성 요소 및 서비스에 사용할 수 있습니다. 공용
인터페이스는 모든 애플리케이션 관련 네트워크 통신에 사용할 수 있습니다. 비보안 인터페이스는
표준 구성의 IIOP 소켓에 사용됩니다. 개인
인터페이스는 표준 구성의 Cryostat 소켓에 사용됩니다.
1.4.1.1. 기본 인터페이스 구성
JBoss EAP에는 다음과 같은 네 가지 기본 인터페이스가 포함됩니다.
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="private"> <inet-address value="${jboss.bind.address.private:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
기본적으로 JBoss EAP는 이러한 인터페이스를 127.0.0.1
에 바인딩하지만 적절한 속성을 설정하여 런타임 시 이러한 값을 재정의할 수 있습니다. 예를 들어 다음 명령을 사용하여 JBoss EAP를 독립 실행형 서버로 시작할 때 공용
인터페이스의 inet-address
를 설정할 수 있습니다.
$ EAP_HOME/bin/standalone.sh -Djboss.bind.address=IP_ADDRESS
또는 server start 명령행에서 -b
스위치를 사용할 수 있습니다.
JBoss EAP에서 사용하는 기본 네트워크 인터페이스 또는 포트를 수정하는 경우 수정된 인터페이스 또는 포트를 사용하는 스크립트도 변경해야 합니다. 여기에는 JBoss EAP 서비스 스크립트와 관리 콘솔 또는 관리 CLI에 액세스할 때 올바른 인터페이스 및 포트를 지정하는 작업이 포함됩니다.
추가 리소스
1.4.1.2. 선택적 인터페이스 구성
네트워크 인터페이스는 물리적 인터페이스에 대한 논리 이름 및 선택 기준을 지정하여 선언합니다. 선택 기준은 와일드카드 주소를 참조하거나 인터페이스 또는 주소가 유효한 일치 항목이어야 하는 하나 이상의 특성 세트를 지정할 수 있습니다.
관리 콘솔 또는 관리 CLI를 사용하여 인터페이스를 구성할 수 있습니다. 이 섹션의 뒷부분에 있는 정보에는 인터페이스 추가 및 업데이트의 몇 가지 예가 포함되어 있습니다. 관리 CLI 명령 다음에 해당 구성 XML이 표시됩니다.
추가 리소스
1.4.1.2.1. NIC 값과의 인터페이스
다음 예제를 사용하여 NIC 값이 eth0
인 새 인터페이스를 추가할 수 있습니다.
/interface=external:add(nic=eth0)
<interface name="external"> <nic name="eth0"/> </interface>
1.4.1.2.2. 여러 조건부 값과의 인터페이스
다음 예제를 사용하여 실행 중인 경우 올바른 서브넷의 인터페이스 또는 주소와 일치하는 새 인터페이스를 추가하고, 멀티 캐스트를 지원하며, 지점 간이 아닌 새 인터페이스를 추가할 수 있습니다.
/interface=default:add(subnet-match=192.168.0.0/16,up=true,multicast=true,not={point-to-point=true})
<interface name="default"> <subnet-match value="192.168.0.0/16"/> <up/> <multicast/> <not> <point-to-point/> </not> </interface>
1.4.1.2.3. 인터페이스 속성 업데이트
이 예제에서는 런타임 시 이 값을 설정할 수 있도록 public
인터페이스의 기본 inet-address
값을 업데이트하여 jboss.bind.address
속성을 유지할 수 있습니다.
/interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:192.168.0.0}")
<interface name="public"> <inet-address value="${jboss.bind.address:192.168.0.0}"/> </interface>
1.4.1.2.4. 관리형 도메인의 서버에 대한 추가 인터페이스
다음 코드를 사용하여 관리형 도메인의 서버에 인터페이스를 추가할 수 있습니다.
/host=HOST_NAME/server-config=SERVER_NAME/interface=INTERFACE_NAME:add(inet-address=127.0.0.1)
<servers> <server name="SERVER_NAME" group="main-server-group"> <interfaces> <interface name="INTERFACE_NAME"> <inet-address value="127.0.0.1"/> </interface> </interfaces> </server> </servers>
1.4.2. 소켓 바인딩
소켓 바인딩 및 소켓 바인딩 그룹을 사용하여 JBoss EAP 구성에 필요한 네트워킹 인터페이스와 네트워크 포트 및 해당 관계를 정의합니다. 소켓 바인딩은 소켓에 대해 이름이 지정된 구성입니다. 소켓 바인딩 그룹은 논리 이름으로 그룹화되는 소켓 바인딩 선언 컬렉션입니다.
이를 통해 구성의 다른 섹션은 각 용도에 소켓 구성의 전체 세부 정보가 필요하지 않고 논리 이름으로 소켓 바인딩을 참조할 수 있습니다.
이러한 이름이 지정된 구성에 대한 선언은 standalone.xml
및 domain.xml
구성 파일에서 찾을 수 있습니다. 독립 실행형 서버에는 하나의 소켓 바인딩 그룹만 포함되어 있지만 관리형 도메인에는 여러 그룹을 포함할 수 있습니다. 관리형 도메인의 각 서버 그룹에 대해 소켓 바인딩 그룹을 생성하거나 여러 서버 그룹 간에 소켓 바인딩 그룹을 공유할 수 있습니다.
JBoss EAP는 기본적으로 사용되는 소켓 바인딩 그룹과 개별 배포의 요구 사항에 따라 다릅니다.
JBoss EAP 구성의 소켓 바인딩 그룹에는 다음 세 가지 유형의 소켓 바인딩이 있습니다.
- 인바운드 소켓 바인딩
-
socket-binding
요소는 JBoss EAP 서버에 대한 인바운드 소켓 바인딩을 구성하는 데 사용됩니다. 기본 JBoss EAP 구성은 HTTP 및 HTTPS 트래픽과 같은 여러 사전 구성된소켓 바인딩
요소를 제공합니다. - 원격 아웃 바운드 소켓 바인딩
-
remote-destination-outbound-socket-binding
요소는 JBoss EAP 서버에 원격 대상에 대한 아웃 바운드 소켓 바인딩을 구성하는 데 사용됩니다. 기본 JBoss EAP 구성은 메일 서버에 사용할 수 있는 원격 대상 소켓 바인딩 예제를 제공합니다. - 로컬 아웃 바운드 소켓 바인딩
-
local-destination-outbound-socket-binding
요소는 JBoss EAP 서버에 로컬인 대상에 대한 아웃 바운드 소켓 바인딩을 구성하는 데 사용됩니다. 이 유형의 소켓 바인딩은 일반적으로 사용되지 않을 수 있습니다.
추가 리소스
1.4.2.1. 관리 포트
기본적으로 JBoss EAP 8.0은 관리 CLI에서 사용하는 기본 관리와 웹 기반 관리 콘솔에서 사용하는 HTTP 관리에 모두 포트 9990
을 사용합니다. JBoss EAP 6에서 네이티브 관리 포트로 사용된 포트 9999
는 더 이상 사용되지 않지만 원하는 경우 활성화할 수 있습니다.
관리 콘솔에 HTTPS가 활성화된 경우 기본적으로 포트 9993
이 사용됩니다.
1.4.2.2. 기본 소켓 바인딩
JBoss EAP에는 사전 정의된 5개의 프로필(기본값, ha, full ,full -ha ,load-balancer) 각각에 대해 소켓 바인딩 그룹이 포함되어 있습니다.
JBoss EAP에서 사용하는 기본 네트워크 인터페이스 또는 포트를 수정하는 경우 수정된 인터페이스 또는 포트를 사용하는 스크립트도 변경해야 합니다. 여기에는 JBoss EAP 서비스 스크립트와 관리 콘솔 또는 관리 CLI에 액세스할 때 올바른 인터페이스 및 포트를 지정하는 작업이 포함됩니다.
추가 리소스
1.4.2.2.1. 독립 실행형 서버의 소켓 바인딩 그룹
독립 실행형 서버로 실행하는 경우 구성 파일별로 하나의 소켓 바인딩 그룹만 정의됩니다. 각 독립 실행형 구성 파일(standalone.xml
,standalone-ha.xml
,standalone-full.xml
,
)은 해당 프로필에서 사용하는 기술에 대한 소켓 바인딩을 정의합니다.
standalone-full-ha.xml
예를 들어 기본 독립 실행형 구성 파일(standalone.xml
)은 다음과 같은 소켓 바인딩을 지정합니다.
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> <socket-binding name="http" port="${jboss.http.port:8080}"/> <socket-binding name="https" port="${jboss.https.port:8443}"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group>
1.4.2.2.2. 관리형 도메인의 소켓 바인딩 그룹
관리형 도메인에서 실행하는 경우 모든 소켓 바인딩 그룹이 domain.xml
파일에 정의됩니다. 미리 정의된 소켓 바인딩 그룹이 5개 있습니다.
-
standard-sockets
-
ha-sockets
-
full-sockets
-
full-ha-sockets
-
load-balancer-sockets
각 소켓 바인딩 그룹은 해당 프로필에서 사용하는 기술에 대한 소켓 바인딩을 지정합니다. 예를 들어 full-ha-sockets
소켓 바인딩 그룹은 고가용성을 위해 full-ha 프로필에서 사용하는 여러 jgroups
소켓 바인딩을 정의합니다.
<socket-binding-groups> <socket-binding-group name="standard-sockets" default-interface="public"> <!-- Needed for server groups using the 'default' profile --> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> <socket-binding name="http" port="${jboss.http.port:8080}"/> <socket-binding name="https" port="${jboss.https.port:8443}"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- Needed for server groups using the 'ha' profile --> ... </socket-binding-group> <socket-binding-group name="full-sockets" default-interface="public"> <!-- Needed for server groups using the 'full' profile --> ... </socket-binding-group> <socket-binding-group name="full-ha-sockets" default-interface="public"> <!-- Needed for server groups using the 'full-ha' profile --> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> <socket-binding name="http" port="${jboss.http.port:8080}"/> <socket-binding name="https" port="${jboss.https.port:8443}"/> <socket-binding name="iiop" interface="unsecure" port="3528"/> <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/> <socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/> <socket-binding name="jgroups-tcp" interface="private" port="7600"/> <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/> <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> <socket-binding-group name="load-balancer-sockets" default-interface="public"> <!-- Needed for server groups using the 'load-balancer' profile --> ... </socket-binding-group> </socket-binding-groups>
관리 인터페이스에 대한 소켓 구성은 도메인 컨트롤러의 host.xml
파일에 정의되어 있습니다.
1.4.2.3. 소켓 바인딩 구성
소켓 바인딩을 정의할 때 포트
및 인터페이스
특성과 멀티캐스트 주소 및 멀티 캐스트
설정을 구성할 수 있습니다.
포트
와 같은 멀티 캐스트
프로세스
소켓 바인딩은 관리 콘솔 또는 관리 CLI를 사용하여 구성할 수 있습니다. 다음 단계는 소켓 바인딩 그룹을 추가하고, 소켓 바인딩을 추가하고, 관리 CLI를 사용하여 소켓 바인딩 설정을 구성하는 단계를 진행합니다.
새 소켓 바인딩 그룹을 추가합니다.
참고JBoss EAP의 인스턴스를 독립 실행형 서버로 실행할 때는 추가 소켓 바인딩을 추가할 수 없습니다. 기존 소켓 바인딩을 제거, 추가 또는 수정할 수 있습니다.
/socket-binding-group=new-sockets:add(default-interface=public)
소켓 바인딩을 추가합니다.
/socket-binding-group=new-sockets/socket-binding=new-socket-binding:add(port=1234)
소켓 바인딩 그룹에 의해 설정된 기본값 이외의 인터페이스를 사용하도록 소켓 바인딩을 변경합니다.
/socket-binding-group=new-sockets/socket-binding=new-socket-binding:write-attribute(name=interface,value=unsecure)
다음 예제에서는 위의 단계가 완료된 후 XML 구성이 표시되는 방법을 보여줍니다.
<socket-binding-groups> ... <socket-binding-group name="new-sockets" default-interface="public"> <socket-binding name="new-socket-binding" interface="unsecure" port="1234"/> </socket-binding-group> </socket-binding-groups>
추가 리소스
1.4.2.4. 포트 오프셋
포트 오프셋은 해당 서버의 소켓 바인딩 그룹에 지정된 모든 포트 값에 추가된 숫자 오프셋 값입니다. 이를 통해 서버는 소켓 바인딩 그룹에 정의된 포트 값을 상속하여 동일한 호스트 및 인터페이스의 다른 서버와 충돌하지 않도록 오프셋을 사용할 수 있습니다. 예를 들어 소켓 바인딩 그룹의 HTTP 포트가 8080
이고 서버에서 100
의 포트 오프셋을 사용하는 경우 HTTP 포트는 8180
입니다.
나중에 정보는 관리 CLI를 사용하여 관리형 도메인의 서버에 대해 250
의 포트 오프셋을 설정하는 예입니다.
/host=master/server-config=server-two/:write-attribute(name=socket-binding-port-offset,value=250)
포트 오프셋은 관리형 도메인의 서버와 동일한 호스트에서 여러 독립 실행형 서버를 실행하는 데 사용할 수 있습니다.
jboss.socket.binding.port-offset
속성을 사용하여 독립 실행형 서버를 시작할 때 포트 오프셋을 전달할 수 있습니다.
$ EAP_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100
포트 오프셋은 JBoss Profiles에서 시스템 속성 이름을 사용하여 정의됩니다. 시스템 속성 이름을 변경하거나 이를 제거하고 포트 오프셋 설정을 하드 코딩할 수 있습니다.
<socket-binding-group name="standard-sockets" default-interface="public" port-offset ="${jboss.socket.binding.port-offset:0}">
1.4.3. IPv6 주소
기본적으로 JBoss EAP는 IPv4 주소를 사용하여 실행되도록 구성되어 있습니다. 다음 절차에서는 IPv6 주소를 사용하여 실행되도록 JBoss EAP를 구성하는 방법을 설명합니다.
1.4.3.1. IPv6 주소용 JVM 스택 구성
IPv6를 사용하여 실행되도록 JBoss EAP를 구성할 수 있습니다.
프로세스
IPv6 주소에서 실행되도록 시작 구성을 업데이트하려면 다음 단계를 완료합니다.
시작 구성 파일을 엽니다.
-
독립 실행형 서버로 실행하는 경우
EAP_HOME/bin/standalone.conf
파일(또는 Windows Server의 경우standalone.conf.
#159)을 편집합니다. -
관리형 도메인에서 실행하는 경우
EAP_HOME/bin/domain.conf
파일(또는 Windows Server의 경우domain.conf.
skip)을 편집합니다.
-
독립 실행형 서버로 실행하는 경우
java.net.preferIPv4Stack
속성을false
로 설정합니다.-Djava.net.preferIPv4Stack=false
java.net.preferIPv6Addresses
속성을 추가하고true
로 설정합니다.-Djava.net.preferIPv6Addresses=true
다음 예제에서는 시작 구성 파일의 JVM 옵션이 위의 변경 후 어떻게 표시되는지 보여줍니다.
# # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.policy-permissions=true" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi
1.4.3.2. IPv6 주소로 업데이트된 기본 인터페이스 값
구성의 기본 인터페이스 값은 IPv6 주소로 변경할 수 있습니다. 예를 들어 다음 관리 CLI 명령은 관리
인터페이스를 IPv6 루프백 주소(::1
)로 설정합니다.
/interface=management:write-attribute(name=inet-address,value="${jboss.bind.address.management:[::1]}")
이전 명령을 실행한 후 다음 예제에서는 XML 구성이 어떻게 표시될 수 있는지 보여줍니다.
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:[::1]}"/> </interface> .... </interfaces>
1.5. JBoss EAP 서버 구성 최적화
최신 업데이트를 JBoss EAP에 적용하여 보안 CVE 및 기타 고객의 버그 수정 사항을 최신 상태로 유지합니다.
JBoss EAP 서버를 설치하고 관리 사용자를 생성한 후 서버 구성을 최적화합니다.
일반적인 최적화에는 다음이 포함됩니다.
-
운영 체제가 웹 연결에 필요한 충분한 파일 설명자를 제공하도록
ulimits
설정 - 스레드 풀 크기 조정
2장. JBoss EAP를 사용하여 애플리케이션 개발
Eclipse IDE(통합 개발 환경) 및 JBoss EAP 8.0 빠른 시작 예제와 함께 JBoss Tools를 사용하여 애플리케이션 개발을 시작할 수 있습니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
2.1. 개요
JBoss Tools는 JBoss EAP 기술 지원을 개선하는 Eclipse 기반 플러그인 세트입니다. JBoss Tools는 Eclipse IDE(통합 개발 환경)와 함께 작동합니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
JBoss Tools는 커뮤니티 프로젝트이며 Red Hat에서 지원하지 않습니다. JBoss Tools 인스턴스 설정 및 실행에 대한 지원은 커뮤니티 웹 사이트를 참조하십시오. JBoss Tools를 다운로드하려면 JBoss Tools 다운로드를 참조하십시오.
많은 퀵 스타트 코드 예제가 JBoss EAP 8.0에 제공되어 사용자가 다른 자카르타 EE 기술을 사용하여 애플리케이션 작성을 시작할 수 있습니다. JBoss Tools를 사용하여 퀵 스타트 예제를 실행할 수 있습니다.
추가 리소스
- 테스트된 JBoss Tools 버전에 대한 자세한 내용은 Red Hat JBoss EAP(Enterprise Application Platform) 및 JBoss 툴 을 참조하십시오.
2.2. 개발 환경 설정
Eclipse IDE에서 사용할 개발 환경을 설정해야 합니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
프로세스
JBoss Tools 다운로드 및 설치.
자세한 내용은 JBoss Tools 설치 가이드의 설치 방법을 참조하십시오.
JBoss Tools에서 JBoss EAP 서버를 설정합니다.
자세한 내용은 How To: Configure the IDE for use with JBoss EAP and JBoss Web Framework Kit in the JBoss Tools 가이드를 참조하십시오.
추가 리소스
- 테스트된 JBoss Tools 버전에 대한 자세한 내용은 Red Hat JBoss EAP(Enterprise Application Platform) 및 JBoss 툴 을 참조하십시오.
2.3. 빠른 시작 예
JBoss EAP에서 제공하는 빠른 시작 예제는 Maven 프로젝트입니다.
2.3.1. Maven 정보
Apache Maven은 소프트웨어 프로젝트를 생성, 관리 및 구축하기 위해 Java 애플리케이션 개발에 사용되는 분산 빌드 자동화 툴입니다. Maven은 POM(Project Object Model) 파일을 사용하여 프로젝트를 정의하고 빌드 프로세스를 관리합니다. Poms는 XML 파일을 사용하여 결과 프로젝트 패키징 및 출력의 모듈 및 구성 요소 종속 항목, 빌드 순서 및 대상을 설명합니다. 이렇게 하면 프로젝트가 정확하고 일관된 방식으로 구축됩니다.
Maven은 리포지토리를 사용하여 이 작업을 수행합니다. Maven 리포지토리는 Java 라이브러리, 플러그인 및 기타 빌드 아티팩트를 저장합니다. 기본 공용 리포지토리는 Maven 2 Central Repository 이지만 리포지토리는 개발 팀 간에 공통 아티팩트를 공유하는 것을 목표로 하는 회사 내 프라이빗 및 내부일 수 있습니다. 리포지토리는 타사에서 사용할 수도 있습니다. 자세한 내용은 Apache Maven 프로젝트 및 리포지토리 소개 가이드를 참조하십시오. Jakarta EE 개발자는 일반적으로 JBoss EAP에서 애플리케이션을 빌드하는 데 사용합니다.
2.3.2. 빠른 시작과 함께 Maven 사용
JBoss EAP 8.0에 애플리케이션을 빌드하고 배포하는 데 필요한 아티팩트 및 종속 항목은 공개 리포지토리에서 호스팅됩니다. JBoss EAP 7 빠른 시작부터 빠른 시작 시 이러한 리포지토리를 사용하도록 Maven settings.xml
파일을 구성할 필요가 없습니다. 이제 Maven 리포지토리가 빠른 시작 프로젝트 POM 파일에 구성됩니다. 이 구성 방법은 빠른 시작을 더 쉽게 시작할 수 있도록 제공되지만 빌드 속도가 느려질 수 있으므로 일반적으로 프로덕션 프로젝트에는 권장되지 않습니다.
JBoss Tools에는 Maven이 포함되어 있으므로 별도로 다운로드하여 설치할 필요가 없습니다.
Maven 명령줄을 사용하여 애플리케이션을 빌드하고 배포하려면 먼저 Apache Maven 프로젝트에서 Maven을 다운로드하고 Maven 설명서에 제공된 지침을 사용하여 설치해야 합니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
2.4. 빠른 시작 다운로드 및 실행
2.4.1. 빠른 시작 다운로드
JBoss EAP에는 다양한 Jakarta EE 기술을 사용하여 애플리케이션을 작성할 수 있도록 설계된 포괄적인 빠른 시작 코드 예제 세트가 포함되어 있습니다. 빠른 시작은 Red Hat 고객 포털에서 다운로드할 수 있습니다.
프로세스
- Red Hat 고객 포털의 JBoss EAP 다운로드 페이지에 로그인합니다.
- 버전 드롭다운 메뉴에서 8.0 을 선택합니다.
-
목록에서 Red Hat JBoss Enterprise Application Platform 8.0.0 빠른 시작 항목을 찾아 다운로드를 클릭하여 퀵 스타트가 포함된
.zip
파일을 다운로드합니다. -
.zip
파일을 원하는 디렉터리에 저장합니다. -
.zip
파일을 추출합니다.
2.4.2. JBoss Tools로 퀵스타트 가져오기
빠른 시작이 다운로드되면 JBoss Tools로 가져와서 JBoss EAP에 배포할 수 있습니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
각 빠른 시작에는 프로젝트 및 구성 정보가 포함된 POM 파일이 포함되어 있습니다. 이 POM 파일을 사용하여 빠른 시작을 JBoss 툴로 쉽게 가져올 수 있습니다.
빠른 시작 프로젝트 폴더가 JBoss Tools로 가져올 때 IDE 작업 공간에 있는 경우 IDE에서 잘못된 프로젝트 이름과 WAR 아카이브 이름을 생성합니다. 시작하기 전에 빠른 시작 프로젝트 폴더가 IDE 작업 공간 외부에 있는지 확인하십시오.
프로세스
- JBoss 툴을 시작합니다.
- 파일 → 가져오기 를 선택합니다.
Maven → Existing Maven 프로젝트를 선택한 다음 Next 를 클릭합니다.
그림 2.1. 기존 Maven 프로젝트 가져오기
원하는 빠른 시작 디렉터리(예:
helloworld
빠른 시작)로 이동하여 OK 를 클릭합니다. 프로젝트 목록 상자는 선택한 빠른 시작 프로젝트의pom.xml
파일로 채워집니다.그림 2.2. Maven 프로젝트 선택
- 완료를 클릭합니다.
추가 리소스
- 테스트된 JBoss Tools 버전에 대한 자세한 내용은 Red Hat JBoss EAP(Enterprise Application Platform) 및 JBoss 툴 을 참조하십시오.
2.4.3. helloworld 빠른 시작 실행
helloworld
퀵스타트 실행은 JBoss EAP 서버가 올바르게 구성되어 있고 실행되고 있는지 확인하는 간단한 방법입니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
프로세스
- 서버를 아직 정의하지 않은 경우 JBoss EAP 서버를 JBoss 툴에 추가합니다. How to: Configure the IDE for use with JBoss EAP and JBoss Web Framework Kit 를 참조하십시오.
Project Explorer 탭에서 helloworld 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Run As → Run on Server 를 선택합니다.
그림 2.3. Run As - Run on Server
서버 목록에서 JBoss EAP 8.0 서버를 선택하고 다음을 클릭합니다.
그림 2.4. 서버에서 실행
서버에 helloworld 빠른 시작이 이미 나열되어 있습니다. 완료 를 클릭하여 빠른 시작을 배포합니다.
그림 2.5. 서버에서 구성된 리소스 수정
결과를 확인합니다.
-
서버 탭에서 JBoss EAP 8.0 서버 상태가
Started
로 변경됩니다. Console 탭에는 JBoss EAP 서버 시작 및
helloworld
빠른 시작 배포에 대한 세부 메시지가 표시됩니다.WFLYUT0021: Registered web context: /helloworld WFLYSRV0010: Deployed "helloworld.war" (runtime-name : "helloworld.war")
-
helloworld
애플리케이션은 http://localhost:8080/helloworld 에서 사용할 수 있으며 텍스트Hello World!
를 표시합니다.
-
서버 탭에서 JBoss EAP 8.0 서버 상태가
2.4.4. metrics -validation quickstart 를 실행합니다.
8080 -validation
quickstart와 같은 일부 빠른 시작에서는 사용자 인터페이스 계층을 제공하지 않고 대신 Arquillian 테스트를 제공하여 기능을 보여줍니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
프로세스
-
8080
-validation
빠른 시작을 JBoss 툴로 가져옵니다. - Servers 탭에서 서버를 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택하여 JBoss EAP 서버를 시작합니다. Servers 탭이 없거나 서버를 아직 정의하지 않은 경우 JBoss EAP 서버를 JBoss Tools에 추가합니다. How to: Configure the IDE for use with JBoss EAP and JBoss Web Framework Kit 를 참조하십시오.
-
Project Explorer 탭에서 8080
-validation
프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Run As → Maven Build 를 선택합니다. Goals 입력 필드에 다음을 입력하고 실행을 클릭합니다.
clean verify -Parq-remote
그림 2.6. 설정 편집
결과를 확인합니다.
Console 탭에는 8080
-validation
Arquillian 테스트 결과가 표시됩니다.------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.jboss.as.quickstarts.bean_validation.test.MemberValidationTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.189 sec Results : Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
2.4.5. 명령줄에서 퀵스타트 실행
Maven을 사용하여 명령줄에서 빠른 시작을 쉽게 빌드하고 배포할 수 있습니다. Maven이 아직 설치되지 않은 경우 Apache Maven 프로젝트를 참조하십시오.
README.md
파일은 시스템 요구 사항에 대한 일반적인 정보가 포함된 퀵 스타트의 루트 디렉터리에 제공됩니다. Maven 구성, 사용자 추가, 빠른 시작 실행.
각 빠른 시작에는 특정 지침과 빠른 시작을 실행하는 Maven 명령을 제공하는 자체 README.md
파일도 포함되어 있습니다.
프로세스
-
helloworld 빠른 시작의 루트 디렉터리에서
README.md
파일을 검토합니다. JBoss EAP 서버를 시작합니다.
$ EAP_HOME/bin/standalone.sh
- helloworld 빠른 시작 디렉터리로 이동합니다.
빠른 시작의
README.md
파일에 제공된 Maven 명령을 사용하여 빠른 시작을 빌드하고 배포합니다.$ mvn clean install wildfly:deploy
-
이제 helloworld 애플리케이션을 http://localhost:8080/helloworld 에서 사용할 수 있으며 텍스트
Hello World!
를 표시합니다.
2.5. 퀵스타트 예제 검토
2.5.1. helloworld 빠른 시작 살펴보기
helloworld
빠른 시작에서는 JBoss EAP에 간단한 서블릿을 배포하는 방법을 보여줍니다. 비즈니스 로직은 서비스에 캡슐화되며, 이 논리는 CDI(Contexts and dependency Cryostat) 5.1로 제공되며 서블릿에 주입됩니다. 이 빠른 시작은 서버를 올바르게 구성하고 시작했는지 확인하는 시작점입니다.
명령줄을 사용하여 이 빠른 시작을 빌드하고 배포하는 자세한 지침은 helloworld
빠른 시작 디렉터리의 루트에 있는 README.html
파일에서 확인할 수 있습니다. 이 문서에서는 JBoss Tools를 사용하여 빠른 시작을 실행하는 방법을 설명하고 JBoss Tools를 설치하고 Maven을 구성하고 helloworld
빠른 시작을 성공적으로 실행하는 방법을 설명합니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
2.5.1.1. 디렉터리 구조 검사
helloworld
빠른 시작 코드는 QUICKSTART_HOME/helloworld/
디렉터리에서 확인할 수 있습니다. helloworld
빠른 시작은 서블릿 및 CDI 8080으로 구성됩니다. 애플리케이션의 article -INF/ 디렉터리에는 버전 번호 1.1 및
all
의 empty-discovery-mode
가 있는 beans.xml
파일도 포함되어 있습니다. 이 마커 파일은 WAR를 8080 아카이브로 식별하고 JBoss EAP에 이 애플리케이션에서 빈을 찾고 CDI를 활성화하도록 지시합니다.
src/main/webapp/
디렉터리에는 quickstart의 파일이 포함되어 있습니다. 이 예제의 모든 구성 파일은 beans.xml
파일을 포함하여 src
/ 디렉터리에 있습니다. /main/webapp/
내의 website-INFsrc/main/webapp/
디렉터리에는 간단한 메타 새로 고침을 사용하여 사용자의 브라우저를 http://localhost:8080/helloworld/HelloWorld 에 있는 서블릿으로 리디렉션하는 index.html
파일도 포함되어 있습니다. 빠른 시작에는 web.xml
파일이 필요하지 않습니다.
2.5.1.2. HelloWorldServlet.java
코드 검토
패키지 선언 및 가져오기는 이러한 목록에서 제외되었습니다. 전체 목록은 빠른 시작 소스 코드에서 사용할 수 있습니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
사전 요구 사항
- JBoss 툴 설치. 자세한 내용은 JBoss Tools 설치 가이드의 설치 방법을 참조하십시오.
-
helloworld
빠른 시작을 실행합니다. -
웹 브라우저를 열고 http://localhost:8080/helloworld 에서 애플리케이션에 액세스하여
helloworld
빠른 시작이 JBoss EAP에 성공적으로 배포되었는지 확인합니다.
프로세스
HelloWorldServlet
코드를 검토합니다.HelloWorldServlet.java
파일은src/main/java/org/jboss/as/quickstarts/helloworld/
디렉터리에 있습니다. 이 서블릿은 브라우저에 정보를 전송합니다.예: HelloWorldServlet 클래스 코드
42 @SuppressWarnings("serial") 43 @WebServlet("/HelloWorld") 44 public class HelloWorldServlet extends HttpServlet { 45 46 static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>"; 47 48 static String PAGE_FOOTER = "</body></html>"; 49 50 @Inject 51 HelloService helloService; 52 53 @Override 54 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 55 resp.setContentType("text/html"); 56 PrintWriter writer = resp.getWriter(); 57 writer.println(PAGE_HEADER); 58 writer.println("<h1>" + helloService.createHelloMessage("World") + "</h1>"); 59 writer.println(PAGE_FOOTER); 60 writer.close(); 61 } 62 63 }
2.5.1.2.1. HelloWorldServlet
세부 정보
이 서블릿은 브라우저로 정보를 보냅니다.
표 2.1. HelloWorldServlet 세부 정보
라인 | 참고 |
---|---|
43 |
필요한 것은 |
46-48 | 모든 웹 페이지에는 올바르게 구성된 HTML이 필요합니다. 이 빠른 시작에서는 정적 문자열을 사용하여 최소 헤더 및 footer 출력을 작성합니다. |
50-51 | 이러한 줄은 실제 메시지를 생성하는 HelloService CDI 8080을 주입합니다. HelloService의 API를 변경하지 않는 한, 이 접근 방식을 통해 뷰 계층을 변경하지 않고 나중에 HelloService 구현을 변경할 수 있습니다. |
58 | 이 줄은 서비스를 호출하여 "Hello World" 메시지를 생성하고 HTTP 요청에 씁니다. |
HelloService
코드를 검토합니다.HelloService.java
파일은src/main/java/org/jboss/as/quickstarts/helloworld/
디렉터리에 있습니다. 이 서비스는 단순히 메시지를 반환합니다. XML 또는 주석 등록이 필요하지 않습니다.예: HelloService 클래스 코드
public class HelloService { String createHelloMessage(String name) { return "Hello " + name + "!"; } }
추가 리소스
- 테스트된 JBoss Tools 버전에 대한 자세한 내용은 Red Hat JBoss EAP(Enterprise Application Platform) 및 JBoss 툴 을 참조하십시오.
2.5.2. 숫자별 퀵스타트 살펴보기
numberguess
quickstart는 비대시적인 간단한 애플리케이션을 생성하고 JBoss EAP에 배포하는 방법을 보여줍니다. information is displayed using a Cryostat view and business logic is encapsulated in two CDI 빈. 숫자
별 빠른 시작에서는 1에서 100 사이의 숫자를 추측하려고 10 번 있습니다. 각 시도 후, 귀하의 추측이 너무 높은지 너무 낮은지 여부를 알려줍니다.
숫자 빠른 시작 코드는 QUICKSTART_HOME/
디렉토리에서 찾을 수 있습니다. 여기서 numberguess
/QUICKSTART_HOME
은 JBoss EAP 빠른 시작을 다운로드하여 압축을 해제한 디렉터리입니다. numberguess
quickstart는 다수의 빈, 구성 파일,JSF(JSF) 뷰로 구성되며 WAR 모듈로 패키징됩니다.
명령줄을 사용하여 이 빠른 시작을 빌드하고 배포하는 자세한 지침은 numberguess
quickstart 디렉터리의 루트에 있는 README.html
파일에서 확인할 수 있습니다. 다음 예제에서는 JBoss Tools를 사용하여 빠른 시작을 실행합니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
2.5.2.1. 숫자 구성 파일
검사
이 예제의 모든 구성 파일은 퀵 스타트의 QUICKSTART_HOME/numbergues/src/main/webapp/ websites-INF/
디렉터리에 있습니다.
사전 요구 사항
- JBoss 툴 설치. 자세한 내용은 JBoss Tools 설치 가이드의 설치 방법을 참조하십시오.
-
numberguess
quickstart를 실행합니다. -
웹 브라우저를 열고 이 URL에서 애플리케이션에 액세스하여
numberguess
quickstart가 JBoss EAP에 성공적으로 배포되었는지 확인합니다. http://localhost:8080/numberguess.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
프로세스
faces-config.xml
파일을 검사합니다.이 빠른 시작에서는
faces-config.xml
파일 이름의 Cryostat 2.2 버전을 사용합니다. 표준 버전의 Telelet은 Cryostat 2.2의 기본 보기 처리기이므로 구성이 필요하지 않습니다. 이 파일은 root 요소로만 구성되며 애플리케이션에서 Cryostat를 사용하도록 설정해야 함을 나타내는 마커 파일일 뿐입니다.<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> </faces-config>
beans.xml
파일을 검사합니다.beans.xml
파일에는모든
의 버전 번호 1.1과 metrics-discovery-mode
가 포함되어 있습니다. 이 파일은 WAR를 빈 아카이브로 식별하는 마커 파일이며 JBoss EAP에 이 애플리케이션에서 빈을 찾고 CDI를 활성화하도록 지시합니다.<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="all"> </beans>
이 빠른 시작에는 web.xml
파일이 필요하지 않습니다.
추가 리소스
- 테스트된 JBoss Tools 버전에 대한 자세한 내용은 Red Hat JBoss EAP(Enterprise Application Platform) 및 JBoss 툴 을 참조하십시오.
2.5.2.2. Cryostat 코드 검사
Cryostat는 소스 파일에 .xhtml
파일 확장자를 사용하지만 .jsf
확장자를 사용하여 렌더링된 보기를 제공합니다. home.xhtml
파일은 src/main/webapp/
디렉터리에 있습니다.
예: Cryostat 소스 코드
19<html xmlns="http://www.w3.org/1999/xhtml" 20 xmlns:ui="http://java.sun.com/jsf/facelets" 21 xmlns:h="http://java.sun.com/jsf/html" 22 xmlns:f="http://java.sun.com/jsf/core"> 23 24 <head> 25 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 26 <title>Numberguess</title> 27 </head> 28 29 <body> 30 <div id="content"> 31 <h1>Guess a number...</h1> 32 <h:form id="numberGuess"> 33 34 <!-- Feedback for the user on their guess --> 35 <div style="color: red"> 36 <h:messages id="messages" globalOnly="false" /> 37 <h:outputText id="Higher" value="Higher!" 38 rendered="#{game.number gt game.guess and game.guess ne 0}" /> 39 <h:outputText id="Lower" value="Lower!" 40 rendered="#{game.number lt game.guess and game.guess ne 0}" /> 41 </div> 42 43 <!-- Instructions for the user --> 44 <div> 45 I'm thinking of a number between <span 46 id="numberGuess:smallest">#{game.smallest}</span> and <span 47 id="numberGuess:biggest">#{game.biggest}</span>. You have 48 #{game.remainingGuesses} guesses remaining. 49 </div> 50 51 <!-- Input box for the users guess, plus a button to submit, and reset --> 52 <!-- These are bound using EL to our CDI beans --> 53 <div> 54 Your guess: 55 <h:inputText id="inputGuess" value="#{game.guess}" 56 required="true" size="3" 57 disabled="#{game.number eq game.guess}" 58 validator="#{game.validateNumberRange}" /> 59 <h:commandButton id="guessButton" value="Guess" 60 action="#{game.check}" 61 disabled="#{game.number eq game.guess}" /> 62 </div> 63 <div> 64 <h:commandButton id="restartButton" value="Reset" 65 action="#{game.reset}" immediate="true" /> 66 </div> 67 </h:form> 68 69 </div> 70 71 <br style="clear: both" /> 72 73 </body> 74</html>
다음 행 번호는 JBoss Tools에서 파일을 볼 때 표시되는 행 번호입니다.
JBoss Tools는 JBoss EAP 8.0에서 더 이상 사용되지 않습니다. 이 기능에 대한 개선 사항은 없으며 향후 릴리스에서 제거될 수 있습니다.
표 2.2. Cryostat 세부 정보
라인 | 참고 |
---|---|
36-40 | 이는 사용자에게 보낼 수 있는 메시지입니다: "Higher!" 및 "Lower!" |
45-48 | 사용자가 추측할 때 추측할 수 있는 숫자의 범위가 작아집니다. 이 문장은 유효한 추측의 범위를 확인하기 위해 변경됩니다. |
55-58 | 이 입력 필드는 value 표현식을 사용하여 metrics 속성에 바인딩됩니다. |
58 | 유효성 검사기 바인딩은 사용자가 실수로 추측할 수 있는 범위 외부에서 번호를 입력하지 않도록 하는 데 사용됩니다. 유효성 검사기가 여기에 없는 경우 사용자는 경계가 없는 숫자에 추측을 사용할 수 있습니다. |
59-61 | 사용자가 서버에 추측을 보낼 수 있는 방법이 있어야 합니다. 여기에서 8080의 작업 메서드에 바인딩합니다. |
2.5.2.3. 숫자 클래스 파일을
검사합니다.
모든 숫자 빠른 시작 소스 파일은 QUICKSTART_HOME/
디렉토리에서 확인할 수 있습니다. 패키지 선언 및 가져오기는 이러한 목록에서 제외되었습니다. 전체 목록은 빠른 시작 소스 코드에서 사용할 수 있습니다.
numberguess
/src/main/java/org/jboss/as/quickstarts/numberguess/
프로세스
Random.java
Qualifier 코드 검토한정자는 두 빈 사이에 모호성을 제거하는 데 사용되며 둘 다 유형에 따라 주입할 수 있습니다.
@Random
한정자는 임의의 숫자를 삽입하는 데 사용됩니다.@Target({ TYPE, METHOD, PARAMETER, FIELD }) @Retention(RUNTIME) @Documented @Qualifier public @interface Random { }
MaxNumber.java
Qualifier 코드 검토@MaxNumber
한정자
는 허용되는 최대 수를 삽입하는 데 사용됩니다.@Target({ TYPE, METHOD, PARAMETER, FIELD }) @Retention(RUNTIME) @Documented @Qualifier public @interface MaxNumber { }
Generator.java
코드 검토Generator
클래스는 생산자 메서드를 통해 난수를 생성하여 동일한 값을 통해 최대 가능한 수를 노출합니다. 이 클래스는 애플리케이션 범위이므로 매번 다른 임의의 값을 얻지 못합니다.@SuppressWarnings("serial") @ApplicationScoped public class Generator implements Serializable { private java.util.Random random = new java.util.Random(System.currentTimeMillis()); private int maxNumber = 100; java.util.Random getRandom() { return random; } @Produces @Random int next() { // a number between 1 and 100 return getRandom().nextInt(maxNumber - 1) + 1; } @Produces @MaxNumber int getMaxNumber() { return maxNumber; } }
game
.java
코드 검토세션 범위의
game
클래스는 애플리케이션의 주요 진입점입니다. 게임 설정 또는 재설정, 사용자의 추측을 캡처 및 검증하고, CryostatsMessage를 사용하여 사용자에게 피드백을 제공해야 합니다
. 구성 후 라이프사이클 후 메서드를 사용하여@Random Instance<Integer> metrics에서 임의의 번호를 검색하여 게임 초기화를
수행합니다.클래스의
@Named
주석을 확인합니다. 이 주석은 Jakarta Expression Language (이 경우#{ game}
)를 사용하여 Cryostat 뷰에 액세스할 수 있도록 하려면만 필요합니다.@SuppressWarnings("serial") @Named @SessionScoped public class Game implements Serializable { /** * The number that the user needs to guess */ private int number; /** * The users latest guess */ private int guess; /** * The smallest number guessed so far (so we can track the valid guess range). */ private int smallest; /** * The largest number guessed so far */ private int biggest; /** * The number of guesses remaining */ private int remainingGuesses; /** * The maximum number we should ask them to guess */ @Inject @MaxNumber private int maxNumber; /** * The random number to guess */ @Inject @Random Instance<Integer> randomNumber; public Game() { } public int getNumber() { return number; } public int getGuess() { return guess; } public void setGuess(int guess) { this.guess = guess; } public int getSmallest() { return smallest; } public int getBiggest() { return biggest; } public int getRemainingGuesses() { return remainingGuesses; } /** * Check whether the current guess is correct, and update the biggest/smallest guesses as needed. Give feedback to the user * if they are correct. */ public void check() { if (guess > number) { biggest = guess - 1; } else if (guess < number) { smallest = guess + 1; } else if (guess == number) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Correct!")); } remainingGuesses--; } /** * Reset the game, by putting all values back to their defaults, and getting a new random number. We also call this method * when the user starts playing for the first time using {@linkplain PostConstruct @PostConstruct} to set the initial * values. */ @PostConstruct public void reset() { this.smallest = 0; this.guess = 0; this.remainingGuesses = 10; this.biggest = maxNumber; this.number = randomNumber.get(); } /** * A JSF validation method which checks whether the guess is valid. It might not be valid because there are no guesses left, * or because the guess is not in range. * */ public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value) { if (remainingGuesses <= 0) { FacesMessage message = new FacesMessage("No guesses left!"); context.addMessage(toValidate.getClientId(context), message); ((UIInput) toValidate).setValid(false); return; } int input = (Integer) value; if (input < smallest || input > biggest) { ((UIInput) toValidate).setValid(false); FacesMessage message = new FacesMessage("Invalid guess"); context.addMessage(toValidate.getClientId(context), message); } } }
부록 A. JBoss EAP를 시작하기 위한 참조 정보
JBoss EAP 사용을 시작하는 데 도움이 되도록 인수, 속성 및 기본 소켓 바인딩을 사용할 수 있습니다. 예를 들어 인수를 사용하여 대체 구성을 기본 JBoss EAP 독립 실행형 서버로 설정할 수 있습니다. 이렇게 하면 요구 사항에 맞게 서버를 구성하는 데 도움이 됩니다.
A.1. 서버 런타임 인수 및 스위치
관리형 도메인의 독립 실행형 서버 및 서버에서 애플리케이션의 시작 스크립트와 함께 특정 서버 런타임 인수를 사용할 수 있습니다. 이 스크립트는 standalone.xml
,domain.xml
및 host.xml
구성 파일에 정의된 대체 구성으로 서버를 시작할 수 있습니다. 대체 구성에는 대체 소켓 바인딩 세트 또는 보조 구성으로 서버 시작이 포함될 수 있습니다.
서버를 시작하기 전에 터미널에서 도움말 스위치 -h
또는 --help
를 실행하여 사용 가능한 매개변수 목록에 액세스할 수 있습니다.
표 A.1. 런타임 인수 및 스위치에 대한 설명:
인수 또는 전환 | 서버 유형 | 설명 |
---|---|---|
| 독립 실행형 |
서버의 실행 중인 유형을 |
| domain |
호스트 컨트롤러의 실행 중인 유형을 |
| 독립 실행형 도메인 |
공용 인터페이스에 대한 바인딩 주소를 구성하는 데 사용할 수 있는 시스템 속성 |
| 독립 실행형 도메인 |
시스템 속성 |
| domain | 이 호스트가 도메인 컨트롤러가 아니더라도 영구 도메인 구성의 사본을 보관합니다. |
| 독립 실행형 |
사용할 서버 구성 파일의 이름입니다. 기본값은 |
| domain |
사용할 서버 구성 파일의 이름입니다. 기본값은 |
| domain | 호스트가 도메인 컨트롤러가 아니며 부팅 시 도메인 컨트롤러에 연결할 수 없는 경우 도메인 구성의 로컬로 캐시된 복사본을 사용하여 부팅해야 합니다. |
| 독립 실행형 | 포트를 지정하려면 선택적 인수로 디버그 모드를 활성화합니다. 인수는 시작 스크립트가 인수를 지원하는 경우에만 작동합니다. |
| 독립 실행형 도메인 | 시스템 속성을 설정합니다. |
| domain |
사용할 서버 구성 파일의 이름입니다. 기본값은 |
| 독립 실행형 |
서버 구성 데이터를 관리하고 유지하는 데 사용되는 Git 리포지토리의 위치입니다. 로컬에 저장하려는 경우 |
| 독립 실행형 | 사용할 Git 리포지토리의 분기 또는 태그 이름입니다. 기존 분기 또는 태그 이름은 존재하지 않는 경우 생성되지 않으므로 지정해야 합니다. 태그 이름을 사용하는 경우 리포지토리를 분리된 HEAD 상태에 넣습니다. 즉, 향후 커밋은 임의의 분기에 연결되어 있지 않습니다. 태그 이름은 읽기 전용이며 일반적으로 여러 노드에서 구성을 복제해야 할 때 사용됩니다. |
| 독립 실행형 |
서버가 원격 Git 리포지토리에 연결할 때 사용하는 자격 증명이 포함된 Elytron 구성 파일의 URL입니다. 원격 Git 리포지토리에 인증이 필요한 경우 인수를 사용할 수 있습니다. Elytron은 SSH를 지원하지 않습니다. Elytron은 암호 없이 개인 키를 사용하여 기본 SSH 인증만 지원합니다. |
| 독립 실행형 도메인 | 도움말 메시지를 표시하고 도움말 인덱스를 종료합니다. |
| domain |
사용할 호스트 구성 파일의 이름입니다. 기본값은 |
| domain | 호스트 컨트롤러가 프로세스 컨트롤러의 통신을 수신할 수 있는 주소입니다. |
| domain | 호스트 컨트롤러가 프로세스 컨트롤러의 통신을 수신할 수 있는 포트입니다. |
| domain |
시스템 속성 |
| domain |
시스템 속성 |
| 독립 실행형 |
사용할 서버 구성 파일의 이름입니다. 인수가 원래 파일을 덮어쓰지 않기 때문에 인수가 |
| domain |
사용할 도메인 구성 파일의 이름입니다. 인수가 초기 파일을 덮어쓰지 않기 때문에 인수가 |
| domain |
사용할 호스트 구성 파일의 이름입니다. 인수가 초기 파일을 덮어쓰지 않기 때문에 인수가 |
| 독립 실행형 도메인 | 지정된 URL에서 시스템 속성을 로드합니다. |
| domain | 프로세스 컨트롤러가 제어하는 프로세스에서 통신을 수신 대기하는 주소입니다. |
| domain | 프로세스 컨트롤러가 제어하는 프로세스에서 통신을 수신 대기하는 포트입니다. |
| 독립 실행형 | 보안 속성을 설정합니다. |
| 독립 실행형 도메인 | 보안 관리자가 설치된 서버를 실행합니다. |
| 독립 실행형 |
사용할 서버 구성 파일의 이름입니다. |
| 독립 실행형 |
서버의 시작 모드를 설정합니다.
|
| 독립 실행형 도메인 |
서버가 구성 파일의 socket-binding 요소에서 멀티 캐스트 주소를 구성하는 데 사용하는 시스템 속성 |
| 독립 실행형 도메인 | 애플리케이션 서버 버전을 표시하고 종료합니다. |
JBoss EAP는 포함된 구성 파일을 설정하여 스위치 동작을 처리합니다. 예를 들면 -b
및 -u
입니다. 스위치에서 제어하는 시스템 속성을 더 이상 사용하지 않도록 구성 파일을 변경하면 system 속성을 start 명령에 추가하지 않습니다.
A.2. 추가 사용자 인수
add-user.sh
스크립트 또는 add-user.metadata 스크립트와 함께 인수를 사용하여 이러한 스크립트가 인증을 위해 속성 파일에 새 사용자를 추가하는 방법을 구성할 수 있습니다.
표 A.2. 추가 사용자 인수 설명
명령줄 인수 | 설명 |
---|---|
| 애플리케이션 영역에서 사용자를 생성합니다. 애플리케이션 영역에서 사용자를 생성하지 않으면 스크립트는 기본적으로 관리 영역에 사용자를 생성합니다. |
|
속성 파일이 포함된 도메인 구성 디렉터리입니다. 인수를 생략하면 스크립트는 |
|
속성 파일이 포함된 대체 독립 실행형 서버 구성 디렉터리입니다. 인수를 생략하면 스크립트는 |
|
대체 사용자 속성 파일의 이름입니다. 파일의 절대 경로를 설정하거나 |
| 사용자에게 할당할 쉼표로 구분된 그룹 목록입니다. |
|
대체 그룹 속성 파일의 이름입니다. 파일의 절대 경로를 설정하거나 |
| 사용자의 암호입니다. |
| 사용자의 이름입니다. 사용자 이름은 임의의 숫자 및 순서로 다음 문자만 포함할 수 있습니다.
|
|
관리 인터페이스를 보호하는 데 사용되는 영역의 이름입니다. 생략하면 기본값은 |
|
콘솔에 대한 출력 없이 |
| 사용자를 활성화합니다. |
| 사용자를 비활성화합니다. |
| 대화형 모드에서 경고를 자동으로 확인합니다. |
|
|
| 비대화형 모드로 시크릿 값을 출력합니다. |
A.3. 인터페이스 속성
인터페이스 속성을 사용하여 JBoss EAP 인터페이스를 구성할 수 있습니다.
JBoss EAP가 관리 모델에 나열된 순서에 테이블 표시의 속성 이름입니다. XML에 표시되는 대로 요소를 보려면 EAP_HOME/docs/schema/wildfly-config_5_0.xsd
에 있는 스키마 정의 파일을 참조하십시오. XML 요소 목록은 관리 모델에 표시되는 것과 달라야 합니다.
표 A.3. 인터페이스 특성에 대한 설명:
인터페이스 속성 | 설명 |
---|---|
| 선택한 중첩된 기준 집합의 인터페이스가 하나 이상 충족되어야 하지만 반드시 all이 아니도록 지정합니다. |
| 인터페이스를 사용하는 소켓에 와일드카드 주소를 바인딩하는 빈 속성입니다. 속성에는 다음과 같은 구성 옵션이 있습니다.
|
| IPv6 또는 IPv4 점선 표기법의 IP 주소 또는 IP 주소로 확인되는 호스트 이름을 지정합니다. |
| 인터페이스에 링크 로컬 주소가 포함되어 있는지에 대한 기준을 지정하는 빈 속성입니다. |
| 인터페이스가 루프백 인터페이스로 식별되는지에 대한 기준을 지정하는 빈 속성입니다. |
|
시스템의 루프백 인터페이스에 구성되지 않은 루프백 주소입니다. 인터페이스에 IP 주소가 없는 NIC가 포함되어 있어도 인터페이스에서 특성 값을 사용하므로 속성은 |
| 인터페이스에서 멀티 캐스트를 지원하는지의 기준을 지정하는 빈 속성입니다. |
| 인터페이스의 이름입니다. |
|
네트워크 인터페이스의 이름(예: |
| 시스템에서 사용 가능한 인터페이스로 사용 가능한 네트워크 인터페이스 이름과 일치하는 정규식입니다. |
| 인터페이스가 충족되지 않아야 하는 선택 기준을 나타내는 속성입니다. |
| 인터페이스가 점대점 인터페이스로 식별되는지에 대한 기준을 지정하는 빈 속성입니다. |
| 인터페이스에 공개적으로 라우팅 가능한 주소가 포함되어 있는지에 대한 기준을 지정하는 빈 속성입니다. |
| 인터페이스에 사이트 로컬 주소가 포함되어 있는지에 대한 기준을 지정하는 빈 속성입니다. |
|
네트워크 IP 주소와 슬래시 표기법으로 작성된 주소의 네트워크 접두사의 비트 수(예: |
| 인터페이스가 up으로 찾을 수 있는지에 대한 기준을 지정하는 빈 속성입니다. |
| 인터페이스에 가상 인터페이스로 식별되는지에 대한 기준을 지정하는 빈 속성입니다. |
A.4. 소켓 바인딩 속성
소켓 바인딩 속성을 사용하여 JBoss EAP 서버의 소켓 바인딩을 구성할 수 있습니다.
다음 소켓 바인딩 유형에 대한 특정 속성이 있습니다.
- 인바운드 소켓 바인딩
- 원격 아웃 바운드 소켓 바인딩
- 로컬 아웃 바운드 소켓 바인딩
JBoss EAP가 관리 모델에 나열된 순서에 테이블 표시의 속성 이름입니다. XML에 표시되는 대로 요소를 보려면 EAP_HOME/docs/schema/wildfly-config_5_0.xsd
에 있는 스키마 정의 파일을 참조하십시오. XML 요소 목록은 관리 모델에 표시되는 것과 달라야 합니다.
표 A.4. 인바운드 소켓 바인딩, socket-binding
, 속성에 대한 설명:
속성 | 설명 |
---|---|
|
인바운드 소켓 바인딩에 대한 클라이언트 매핑을 지정합니다. 인바운드 소켓에 연결하는 클라이언트는 매핑에 지정된 대상 주소를 사용해야 합니다. 이 주소는 아웃 바운드 인터페이스와 일치합니다. 인바운드 소켓 바인딩과 함께 |
| 특성을 사용하여 포트 값이 고정되어야 하는지 확인합니다. 소켓 그룹의 다른 소켓에 숫자 오프셋을 적용한 경우에도 속성을 사용할 수 있습니다. |
|
소켓이 바인딩되는 인터페이스의 이름을 설정하는 속성입니다. 속성을 사용하여 멀티 캐스트 소켓에서 수신해야 하는 인터페이스를 설정할 수도 있습니다. 선언된 인터페이스를 정의하지 않으면 속성은 enclosing 소켓 바인딩 그룹의 |
| 소켓이 멀티 캐스트 트래픽을 수신하는 멀티 캐스트 주소입니다. 속성 값을 지정하지 않으면 멀티캐스트 기능을 수신하도록 소켓을 구성하지 않습니다. |
|
소켓이 멀티 캐스트 트래픽을 수신하는 포트입니다. |
| 소켓 이름을 설정해야 합니다. 소켓 구성 정보에 액세스해야 하는 서비스는 이름을 사용하여 소켓을 찾을 수 없습니다. |
|
소켓이 바인딩되는 포트 수입니다. 모든 포트 값을 증가하거나 감소하기 위해 |
표 A.5. 원격 아웃바운드 소켓 바인딩, remote-destination-outbound-socket-binding
, 속성에 대한 설명:
속성 | 설명 |
---|---|
| 소켓 그룹의 다른 아웃바운드 소켓에 숫자 오프셋을 적용한 경우에도 포트 값이 수정되어야 하는지 여부를 결정합니다. |
| 아웃바운드 소켓이 연결되는 원격 대상의 호스트 이름 또는 IP 주소입니다. |
| 아웃바운드 소켓이 연결되는 원격 대상의 포트 번호입니다. |
| JBoss EAP가 아웃 바운드 소켓의 소스 주소에 사용하는 인터페이스의 이름입니다. |
| JBoss EAP가 아웃 바운드 소켓의 소스 포트로 사용하는 포트 번호입니다. |
표 A.6. 로컬 아웃바운드 소켓 바인딩, local-destination-outbound-socket-binding
, 속성에 대한 설명:
속성 | 설명 |
---|---|
| 소켓 그룹의 다른 아웃바운드 소켓에 숫자 오프셋을 적용한 경우에도 포트 값이 수정되어야 하는지 여부를 결정합니다. |
| JBoss EAP에서 연결 아웃 바운드 소켓의 포트를 결정하는 데 사용하는 로컬 소켓 바인딩의 이름입니다. |
| JBoss EAP가 아웃 바운드 소켓의 소스 주소에 사용하는 인터페이스의 이름입니다. |
| JBoss EAP가 아웃 바운드 소켓의 소스 포트로 사용하는 포트 번호입니다. |
A.5. 기본 소켓 바인딩
각 소켓 바인딩 그룹에 대해 기본 소켓 바인딩을 설정할 수 있습니다.
JBoss EAP에는 다음과 같은 5가지 유형의 기본 소켓 바인딩이 있습니다.
-
standard-sockets
-
ha-sockets
-
full-sockets
-
full-ha-sockets
-
load-balancer-sockets
표 A.7. 기본 표준 소켓 소켓 바인딩에 대한 설명입니다
.
소켓 바인딩 | 포트 | 설명 |
---|---|---|
|
| Apache JServ 프로토콜. HTTP 클러스터링 및 로드 밸런싱에 사용됩니다. |
|
| 배포된 웹 애플리케이션의 기본 포트입니다. |
|
| 배포된 웹 애플리케이션과 클라이언트 간의 SSL 암호화 연결. |
|
| 관리 계층과의 HTTP 통신에 사용됩니다. |
|
| 관리 계층과의 HTTPS 통신에 사용됩니다. |
|
| JTA 트랜잭션 복구 관리자입니다. |
|
| JTA / JTS 트랜잭션 관리자입니다. |
표 A.8. 기본 ha-sockets
소켓 바인딩에 대한 설명입니다.
소켓 바인딩 | 포트 | 멀티 캐스트 포트 | 설명 |
---|---|---|---|
|
| Apache JServ 프로토콜. HTTP 클러스터링 및 로드 밸런싱에 사용됩니다. | |
|
| 배포된 웹 애플리케이션의 기본 포트입니다. | |
|
| 배포된 웹 애플리케이션과 클라이언트 간의 SSL 암호화 연결. | |
|
| 멀티 캐스트. HA 클러스터에서 초기 멤버십을 검색하는 데 사용됩니다. | |
|
| TCP를 사용하는 HA 클러스터에서 유니캐스트 피어 검색. | |
|
|
| UDP를 사용하는 HA 클러스터에서 멀티 캐스트 피어 검색. |
|
| 관리 계층과의 HTTP 통신에 사용됩니다. | |
|
| 관리 계층과의 HTTPS 통신에 사용됩니다. | |
|
| JBoss EAP와 HTTP 로드 밸런서 간의 통신을 위한 멀티 캐스트 포트입니다. | |
|
| JTA 트랜잭션 복구 관리자입니다. | |
|
| JTA / JTS 트랜잭션 관리자입니다. |
표 A.9. 기본 full-sockets
소켓 바인딩에 대한 설명입니다.
소켓 바인딩 | 포트 | 설명 |
---|---|---|
|
| Apache JServ 프로토콜. HTTP 클러스터링 및 로드 밸런싱에 사용됩니다. |
|
| 배포된 웹 애플리케이션의 기본 포트입니다. |
|
| 배포된 웹 애플리케이션과 클라이언트 간의 SSL 암호화 연결. |
|
| JTS 트랜잭션 및 기타 ORB 종속 서비스를 위한 CORBA 서비스. |
|
| SSL 암호화 CORBA 서비스. |
|
| 관리 계층과의 HTTP 통신에 사용됩니다. |
|
| 관리 계층과의 HTTPS 통신에 사용됩니다. |
|
| JTA 트랜잭션 복구 관리자입니다. |
|
| JTA / JTS 트랜잭션 관리자입니다. |
표 A.10. 기본 full-ha-sockets
소켓 바인딩에 대한 설명입니다.
이름 | 포트 | 멀티 캐스트 포트 | 설명 |
---|---|---|---|
|
| Apache JServ 프로토콜. HTTP 클러스터링 및 로드 밸런싱에 사용됩니다. | |
|
| 배포된 웹 애플리케이션의 기본 포트입니다. | |
|
| 배포된 웹 애플리케이션과 클라이언트 간의 SSL 암호화 연결. | |
|
| JTS 트랜잭션 및 기타 ORB 종속 서비스를 위한 CORBA 서비스. | |
|
| SSL 암호화 CORBA 서비스. | |
|
| 멀티 캐스트. HA 클러스터에서 초기 멤버십을 검색하는 데 사용됩니다. | |
|
| TCP를 사용하는 HA 클러스터에서 유니캐스트 피어 검색. | |
|
|
| UDP를 사용하는 HA 클러스터에서 멀티 캐스트 피어 검색. |
|
| 관리 계층과의 HTTP 통신에 사용됩니다. | |
|
| 관리 계층과의 HTTPS 통신에 사용됩니다. | |
|
| JBoss EAP와 HTTP 로드 밸런서 간의 통신을 위한 멀티 캐스트 포트입니다. | |
|
| JTA 트랜잭션 복구 관리자입니다. | |
|
| JTA / JTS 트랜잭션 관리자입니다. |
표 A.11. 기본 load-balancer-sockets
소켓 바인딩에 대한 설명입니다.
이름 | 포트 | 멀티 캐스트 포트 | 설명 |
---|---|---|---|
|
| 배포된 웹 애플리케이션의 기본 포트입니다. | |
|
| 배포된 웹 애플리케이션과 클라이언트 간의 SSL 암호화 연결. | |
|
| 관리 계층과의 HTTP 통신에 사용됩니다. | |
|
| 관리 계층과의 HTTPS 통신에 사용됩니다. | |
|
| 라이프사이클 이벤트를 전송하기 위해 MCMP(Mod-Cluster Management Protocol) 연결의 포트입니다. | |
|
| JBoss EAP와 HTTP 로드 밸런서 간의 통신을 위한 멀티 캐스트 포트입니다. |
3장. JBoss EAP 8.0의 패키지 네임스페이스 변경
이 섹션에서는 JBoss EAP 8.0의 패키지 네임스페이스 변경 사항에 대한 추가 정보를 제공합니다. JBoss EAP 8.0은 자카르타 EE 10 및 자카르타 EE 10 API의 기타 여러 구현을 완벽하게 지원합니다. Jakarta EE 10 for JBoss EAP 8.0에서 지원하는 중요한 변경 사항은 패키지 네임스페이스 변경입니다.
3.1. javax에서 jakarta 네임스페이스로 변경
자카르타 EE 8과 EE 10의 주요 차이점은 EE API Java 패키지 이름을 javax.*
에서 jakarta
*로 바꾸는 것입니다. 이는 Java EE가 Eclipse Foundation으로 이동하고 자카르타 EE 설정을 따릅니다.
이 네임스페이스 변경에 맞게 애플리케이션을 JBoss EAP 7에서 JBoss EAP 8로 마이그레이션하는 가장 큰 작업입니다. 애플리케이션을 자카르타 EE 10으로 마이그레이션하려면 다음 단계를 완료해야 합니다.
-
import 구문 또는 기타 소스 코드에서
javax
패키지에서jakarta
패키지로 EE API 클래스를 사용하는 것을 업데이트합니다. -
jakarta
로 시작하도록 EE 지정 시스템 속성 또는javax
로 시작하는 기타 구성 속성의 이름을 업데이트합니다. -
EE 인터페이스의 애플리케이션 제공 구현 또는
java.util.ServiceLoader
메커니즘을 사용하여 부트스트랩된 추상 클래스의 경우 구현 클래스를 META-INF/services/javax에서 META-INF/services/jakarta로 식별하는 리소스의 이름을 변경합니다.[rest_of_name]
은META-INF/services/jakarta.[rest_of_name]
로 변경합니다.
Red Hat Migration Toolkit은 애플리케이션 소스 코드에서 네임스페이스를 업데이트하는 데 도움이 될 수 있습니다. 자세한 내용은 How to use Red Hat Migration Toolkit for Auto-Migration of an Application to the Jakarta EE 10 Namespace. 소스 코드 마이그레이션이 옵션이 아닌 경우 Open Source Eclipse Transformer 프로젝트는 기존 Java 아카이브를 javax
네임스페이스에서 jakarta
네임스페이스로 변환하는 바이트 코드 변환 도구를 제공합니다.
이 변경 사항은 Java SE의 일부인 javax
패키지에는 영향을 미치지 않습니다.
추가 리소스
- 자세한 내용은 javax to jakarta Package Namespace Change 를 참조하십시오.
2024-02-08에 최종 업데이트된 문서