Using JBoss EAP XP 5.0
JBoss EAP XP 5.0에서 사용
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
JBoss EAP 문서에 대한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
오류를 보고하거나 문서를 개선하기 위해 Red Hat Jira 계정에 로그인하여 문제를 제출하십시오. Red Hat Jira 계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.
프로세스
- 티켓을 생성하려면 다음 링크를 클릭하십시오.
- 요약 에 문제에 대한 간략한 설명을 입력합니다.
- 설명에서 문제 또는 개선 사항에 대한 자세한 설명을 제공합니다. 문서에서 문제가 발생한 위치에 URL을 포함합니다.
- Submit 을 클릭하고 문제를 적절한 문서 팀으로 라우팅합니다.
1장. 최신 MicroProfile 기능을 위한 JBoss EAP XP 링크 복사링크가 클립보드에 복사되었습니다!
1.1. 기존 JBoss EAP 8.0 서버 없이 JBoss EAP 5.0 설치 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 8.0 서버를 처음 설치하지 않고 JBoss EAP XP 5.0을 설치하려면 다음 절차를 따르십시오.
사전 요구 사항
- 인터넷에 액세스할 수 있습니다.
- Red Hat 고객 포털에서 계정을 생성했으며 로그인되어 있습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.
프로세스
-
터미널 에뮬레이터를 열고
jboss-eap-installation-manager디렉터리로 이동합니다. jboss-eap-installation-manager디렉토리에서 다음 명령을 실행하여 JBoss EAP XP를 설치합니다../bin/jboss-eap-installation-manager.sh install --profile eap-xp-5.0 --dir eap-xp-5
./bin/jboss-eap-installation-manager.sh install --profile eap-xp-5.0 --dir eap-xp-5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2. 기존 JBoss EAP 8.0 설치에 JBoss EAP XP 5.0 기능 팩 추가 링크 복사링크가 클립보드에 복사되었습니다!
jboss-eap-installation-manager 를 사용하여 기존 JBoss EAP 설치에 JBoss EAP 5.0 기능 팩을 추가할 수 있습니다.
사전 요구 사항
- Red Hat 고객 포털에 계정이 있고 로그인되어 있습니다.
- JBoss EAP XP 5.0에서 지원되는 구성을 검토했습니다.
- 지원되는 JDK를 설치했습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.jboss-eap-installation-manager를 다운로드하는 방법에 대한 자세한 내용은 설치 가이드를 참조하십시오. - 지원되는 방법 중 하나를 사용하여 JBoss EAP 8.0을 다운로드하거나 설치했습니다. JBoss EAP 다운로드에 대한 자세한 내용은 설치 가이드를 참조하십시오.
JBoss EAP XP 확장 기능을 설치하면 서버 업데이트가 자동으로 수행되어 최신 구성 요소 업데이트가 제공됩니다.
프로세스
-
터미널 에뮬레이터를 열고
jboss-eap-installation-manager디렉터리로 이동합니다. 다음을 실행하여
jboss-eap-installation-manager디렉토리에서 이 스크립트를 실행하여 서버를 JBoss EAP XP 채널에 서브스크립션합니다../bin/jboss-eap-installation-manager.sh channel add \ --channel-name eap-xp-5.0 \ --repositories=mrrc-ga::https://maven.repository.redhat.com/ga \ --manifest org.jboss.eap.channels:eap-xp-5.0 \ --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh channel add \ --channel-name eap-xp-5.0 \ --repositories=mrrc-ga::https://maven.repository.redhat.com/ga \ --manifest org.jboss.eap.channels:eap-xp-5.0 \ --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음을 실행하여 JBoss EAP XP 확장 프로그램을 설치합니다.
./bin/jboss-eap-installation-manager.sh feature-pack add \ --fpl org.jboss.eap.xp:wildfly-galleon-pack \ --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh feature-pack add \ --fpl org.jboss.eap.xp:wildfly-galleon-pack \ --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. 기존 JBoss EAP 8.0 설치에 JBoss EAP XP 5.0 기능 팩 추가 오프라인 링크 복사링크가 클립보드에 복사되었습니다!
jboss-eap-installation-manager 를 사용하여 기존 JBoss EAP 5.0 기능 팩을 오프라인으로 추가할 수 있습니다.
사전 요구 사항
- JBoss EAP XP 5.0에서 지원되는 구성을 검토했습니다.
- 지원되는 JDK를 설치했습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.jboss-eap-installation-manager를 다운로드하는 방법에 대한 자세한 내용은 설치 가이드를 참조하십시오. - 지원되는 방법 중 하나를 사용하여 JBoss EAP 8.0을 다운로드하거나 설치했습니다. JBoss EAP 다운로드에 대한 자세한 내용은 설치 가이드를 참조하십시오.
- JBoss EAP 8.0 및 JBoss EAP XP 5.0용 최신 오프라인 리포지토리를 다운로드하여 추출했습니다.
프로세스
-
터미널 에뮬레이터를 열고
jboss-eap-installation-manager디렉터리로 이동합니다. -
다음을 실행하여
jboss-eap-installation-manager디렉토리에서 이 스크립트를 실행하여 서버를 JBoss EAP XP 채널에 서브스크립션합니다.
./bin/jboss-eap-installation-manager.sh channel add \ --channel-name eap-xp-5.0 \ --repositories=mrrc-ga::https://maven.repository.redhat.com/ga \ --manifest org.jboss.eap.channels:eap-xp-5.0 \ --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh channel add \
--channel-name eap-xp-5.0 \
--repositories=mrrc-ga::https://maven.repository.redhat.com/ga \
--manifest org.jboss.eap.channels:eap-xp-5.0 \
--dir eap-xp-5.0
-
JBoss EAP XP를 설치하고
--repositories 매개변수를사용하여 오프라인 리포지토리를 지정합니다.
./bin/jboss-eap-installation-manager.sh feature-pack add \ --fpl org.jboss.eap.xp:wildfly-galleon-pack \ --dir eap-xp-5.0 \ --repositories <JBOSS_EAP_XP_OFFLINE_REPO_PATH>,<JBOSS_EAP_8.0_OFFLINE_REPO_PATH>
./bin/jboss-eap-installation-manager.sh feature-pack add \
--fpl org.jboss.eap.xp:wildfly-galleon-pack \
--dir eap-xp-5.0 \
--repositories <JBOSS_EAP_XP_OFFLINE_REPO_PATH>,<JBOSS_EAP_8.0_OFFLINE_REPO_PATH>
기능 팩은 --dir 옵션으로 전달된 JBoss EAP 설치에 추가됩니다.
1.4. jboss-eap-installation-manager를 사용하여 JBoss EAP XP 설치 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
새 업데이트를 다운로드하여 설치한 후 사용할 수 있는 경우 JBoss EAP XP를 주기적으로 업데이트할 수 있습니다.
사전 요구 사항
- 인터넷에 액세스할 수 있습니다.
- 지원되는 JDK를 설치했습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.jboss-eap-installation-manager를 다운로드하는 방법에 대한 자세한 내용은 설치 가이드를 참조하십시오. - 지원되는 방법 중 하나를 사용하여 JBoss EAP 8.0을 다운로드하거나 설치했습니다. JBoss EAP 다운로드에 대한 자세한 내용은 설치 가이드를 참조하십시오.
프로세스
-
다운로드한
jboss-eap-installation-manager를 추출합니다. -
터미널 에뮬레이터를 열고 추출한
jboss-eap-installation-manager디렉터리로 이동합니다. jboss-eap-installation-manager디렉토리에서 이 스크립트를 실행하여 사용 가능한 업데이트를 확인합니다../bin/jboss-eap-installation-manager.sh update list --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh update list --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 JBoss EAP를 업데이트합니다.
구문
./bin/jboss-eap-installation-manager.sh update perform --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh update perform --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
./bin/jboss-eap-installation-manager.sh update perform --dir eap-xp-5.0 Updates found: org.wildfly.galleon-plugins:wildfly-galleon-plugins 6.3.1.Final-redhat-00001 ==> 6.3.2.Final-redhat-00001 org.wildfly.wildfly-http-client:wildfly-http-transaction-client 2.0.1.Final-redhat-00001 ==> 2.0.2.Final-redhat-00001
./bin/jboss-eap-installation-manager.sh update perform --dir eap-xp-5.0 Updates found: org.wildfly.galleon-plugins:wildfly-galleon-plugins 6.3.1.Final-redhat-00001 ==> 6.3.2.Final-redhat-00001 org.wildfly.wildfly-http-client:wildfly-http-transaction-client 2.0.1.Final-redhat-00001 ==> 2.0.2.Final-redhat-00001Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. jboss-eap-installation-manager를 사용하여 JBoss EAP XP 설치 오프라인 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
jboss-eap-installation-manager 를 사용하여 JBoss EAP XP 5.0 설치를 오프라인으로 업데이트할 수 있습니다.
사전 요구 사항
- 지원되는 JDK를 설치했습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.jboss-eap-installation-manager를 다운로드하는 방법에 대한 자세한 내용은 설치 가이드를 참조하십시오. - 지원되는 방법 중 하나를 사용하여 JBoss EAP 8.0을 다운로드하거나 설치했습니다. JBoss EAP 다운로드에 대한 자세한 내용은 설치 가이드를 참조하십시오.
- JBoss EAP 8.0 및 JBoss EAP XP 5.0용 최신 오프라인 리포지토리를 다운로드하여 추출했습니다.
프로세스
- JBoss EAP 서버를 중지합니다.
-
터미널 에뮬레이터를 열고
jboss-eap-installation-manager디렉터리로 이동합니다. jboss-eap-installation-manager디렉토리에서 이 스크립트를 실행하여 서버 구성 요소를 업데이트합니다../bin/jboss-eap-installation-manager.sh update perform \ --dir eap-xp-5.0 \ --repositories <JBOSS_EAP_XP_OFFLINE_REPO_PATH>,<FEATURE_PACK_OFFLINE_REPO>,<JBOSS_EAP_8.0_OFFLINE_REPO_PATH>
./bin/jboss-eap-installation-manager.sh update perform \ --dir eap-xp-5.0 \ --repositories <JBOSS_EAP_XP_OFFLINE_REPO_PATH>,<FEATURE_PACK_OFFLINE_REPO>,<JBOSS_EAP_8.0_OFFLINE_REPO_PATH>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- 두 단계 업데이트 작업을 오프라인에서 수행하는 방법에 대한 자세한 내용은 오프라인 JBoss EAP 서버에서 기능 팩 업데이트를 참조하십시오.
1.6. JBoss EAP XP 서버를 JBoss EAP로 되돌리기 링크 복사링크가 클립보드에 복사되었습니다!
jboss-eap-installation-manager 를 사용하여 JBoss EAP XP 설치를 되돌릴 수 있습니다.
사전 요구 사항
- 인터넷에 액세스할 수 있습니다.
- 지원되는 JDK를 설치했습니다.
-
jboss-eap-installation-manager를 다운로드했습니다.jboss-eap-installation-manager를 다운로드하는 방법에 대한 자세한 내용은 설치 가이드를 참조하십시오. - 지원되는 방법 중 하나를 사용하여 JBoss EAP 8.0을 다운로드하거나 설치했습니다. JBoss EAP 다운로드에 대한 자세한 내용은 설치 가이드를 참조하십시오.
프로세스
-
터미널 에뮬레이터를 열고
jboss-eap-installation-manager디렉터리로 이동합니다. jboss-eap-installation-manager디렉토리에서 이 스크립트를 실행하여 JBoss EAP XP 서버에 추가된 모든 기능 팩의 기록을 조사합니다../bin/jboss-eap-installation-manager.sh history --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh history --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JBoss EAP XP 서버를 중지합니다.
JBoss EAP XP 확장 기능이 추가되기 전에 버전으로 되돌립니다.
./bin/jboss-eap-installation-manager.sh revert perform \ --revision <REVISION_HASH> \ --dir eap-xp-5.0
./bin/jboss-eap-installation-manager.sh revert perform \ --revision <REVISION_HASH> \ --dir eap-xp-5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- 두 단계의 되돌리기 작업을 수행하는 방법에 대한 자세한 내용은 설치된 기능 팩복원을 참조하십시오.
2장. MicroProfile 이해 링크 복사링크가 클립보드에 복사되었습니다!
2.1. MicroProfile Config 링크 복사링크가 클립보드에 복사되었습니다!
2.1.1. JBoss EAP의 MicroProfile Config 링크 복사링크가 클립보드에 복사되었습니다!
구성 데이터는 동적으로 변경될 수 있으며 애플리케이션은 서버를 다시 시작하지 않고도 최신 구성 정보에 액세스할 수 있어야 합니다.
MicroProfile Config는 구성 데이터의 이식 가능한 외부화를 제공합니다. 즉, 수정 또는 재패키징 없이 여러 환경에서 실행되도록 애플리케이션 및 마이크로서비스를 구성할 수 있습니다.
MicroProfile Config 기능은 SmallRye Config 구성 요소를 사용하여 JBoss EAP에서 구현되며 microprofile-config-undercloudrye 하위 시스템에서 제공합니다.
MicroProfile Config는 JBoss EAP XP에서만 지원됩니다. JBoss EAP에서는 지원되지 않습니다.
자체 Config 구현을 추가하는 경우 최신 버전의 Config 인터페이스에서 메서드를 사용해야 합니다.
2.1.2. MicroProfile Config에서 지원되는 MicroProfile Config 소스 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Config 구성 속성은 다른 위치에서 가져올 수 있으며 다른 형식일 수 있습니다. 이러한 속성은 ConfigSources에서 제공합니다. ConfigSources는 org.eclipse.microprofile.config.spi.ConfigSource 인터페이스의 구현입니다.
MicroProfile Config 사양은 구성 값을 검색하기 위한 다음과 같은 기본 ConfigSource 구현을 제공합니다.
-
System.getProperties(). -
system.getenv(). -
클래스 경로의 모든
META-INF/microprofile-config.properties파일
microprofile-config-#159rye 하위 시스템은 구성 값을 검색하기 위해 추가 유형의 ConfigSource 리소스를 지원합니다. 다음 리소스에서 구성 값을 검색할 수도 있습니다.
-
microprofile-config-undercloudrye/config-source관리 리소스의 속성 - 디렉터리의 파일
-
ConfigSource클래스 -
ConfigSourceProvider클래스
2.2. MicroProfile Fault Tolerance 링크 복사링크가 클립보드에 복사되었습니다!
2.2.1. MicroProfile Fault Tolerance 사양 정보 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Fault Tolerance 사양은 분산 마이크로 서비스에 내재된 오류를 처리하는 전략을 정의합니다.
MicroProfile Fault Tolerance 사양은 오류를 처리하기 위한 다음 전략을 정의합니다.
- Timeout
- 실행을 완료해야 하는 시간을 정의합니다. 시간 초과를 정의하면 실행이 무기한 대기되지 않습니다.
- Retry
- 실패한 실행을 재시도하는 기준을 정의합니다.
- 폴백
- 실행에 실패한 경우 대안을 제공합니다.
- CircuitBreaker
- 일시적으로 중지되기 전에 실패한 실행 시도 수를 정의합니다. 실행을 다시 시작하기 전에 지연의 길이를 정의할 수 있습니다.
- Bulkhead
- 시스템의 나머지 부분이 계속 작동할 수 있도록 오류를 격리합니다.
- 비동기
- 별도의 스레드에서 클라이언트 요청을 실행합니다.
2.2.2. JBoss EAP의 MicroProfile Fault Tolerance 링크 복사링크가 클립보드에 복사되었습니다!
microprofile-fault-tolerance-undercloudrye 하위 시스템은 JBoss EAP에서 MicroProfile Fault Tolerance를 지원합니다. 하위 시스템은 JBoss EAP XP 스트림에서만 사용할 수 있습니다.
microprofile-fault-tolerance-undercloudrye 하위 시스템은 인터셉터 바인딩에 대해 다음과 같은 주석을 제공합니다.
-
@timeout -
@Retry -
@Fallback -
@CircuitBreaker -
@Bulkhead -
@Asynchronous
이러한 주석은 클래스 수준 또는 메서드 수준에서 바인딩할 수 있습니다. 클래스에 바인딩된 주석은 해당 클래스의 모든 비즈니스 메서드에 적용됩니다.
다음 규칙은 바인딩 인터셉터에 적용됩니다.
구성 요소 클래스가 클래스 수준 인터셉터 바인딩을 선언하거나 상속하는 경우 다음과 같은 제한 사항이 적용됩니다.
- 클래스는 final로 선언해서는 안 됩니다.
- 클래스에는 정적, 개인 또는 최종 메서드가 포함되어 있지 않아야 합니다.
- 구성 요소 클래스의 비정적, 비개인적 메서드의 메서드 수준 인터셉터 바인딩을 선언하는 경우 메서드 및 구성 요소 클래스를 final로 선언할 수 없습니다.
내결함성 작업에는 다음과 같은 제한 사항이 있습니다.
- fault tolerance interceptor 바인딩은 Quarkus 클래스 또는 Cryostat 클래스 메서드에 적용해야 합니다.
- 호출 시 호출은 Jakarta 컨텍스트 및 종속성 사양에 정의된 비즈니스 메서드 호출이어야 합니다.
다음 두 조건이 모두 true인 경우 작업이 내결함성으로 간주되지 않습니다.
- 방법 자체는 내결함성 인터셉터에 바인딩되지 않습니다.
- 메서드를 포함하는 클래스는 내결함성 인터셉터에 바인딩되지 않습니다.
microprofile-fault-tolerance-undercloudrye 하위 시스템은 MicroProfile Fault Tolerance에서 제공하는 구성 옵션 외에도 다음과 같은 구성 옵션을 제공합니다.
-
io.smallrye.faulttolerance.mainThreadPoolSize -
io.smallrye.faulttolerance.mainThreadPoolQueueSize
2.3. MicroProfile Health 링크 복사링크가 클립보드에 복사되었습니다!
2.3.1. JBoss EAP의 MicroProfile Health 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에는 JBoss EAP 인스턴스가 예상대로 응답하는지 확인하는 데 사용할 수 있는 SmallRye Health 구성 요소가 포함되어 있습니다. 이 기능은 기본적으로 활성화되어 있습니다.
MicroProfile Health는 JBoss EAP를 독립 실행형 서버로 실행하는 경우에만 사용할 수 있습니다.
MicroProfile Health 사양은 다음과 같은 상태 점검을 정의합니다.
- 준비
-
애플리케이션에서 요청을 처리할 준비가 되었는지 확인합니다.
@Readiness는 이 상태 점검을 제공합니다. - 활성
-
애플리케이션이 실행 중인지 확인합니다.
@Liveness는 이 상태 점검을 제공합니다. - startup
-
애플리케이션이 이미 시작되었는지 여부를 확인합니다.
@Startup주석에서는 이 상태 점검을 제공합니다.
@Health 주석은 MicroProfile Health 3.0에서 제거되었습니다.
MicroProfile Health 3.1에는 새로운 시작 상태 점검 프로브가 포함되어 있습니다.
MicroProfile Health 3.1의 변경 사항에 대한 자세한 내용은 MicroProfile Health 3.1 릴리스 노트를 참조하십시오.
:empty-readiness-checks-status,:empty-, liveness -checks-status:empty-startup-checks-status 관리 속성은 준비 상태, 활성 상태 또는 시작 프로브가 정의되지 않은 경우 글로벌 상태를 지정합니다.
2.4. MicroProfile JWT 링크 복사링크가 클립보드에 복사되었습니다!
2.4.1. JBoss EAP에서 MicroProfile JWT 통합 링크 복사링크가 클립보드에 복사되었습니다!
하위 시스템 microprofile-jwt-Neutronrye 는 JBoss EAP에서 MicroProfile JWT 통합을 제공합니다.
다음 기능은 microprofile-jwt-undercloudrye 하위 시스템에서 제공합니다.
- MicroProfile JWT 보안을 사용하는 배포 감지.
- MicroProfile JWT 지원 활성화
하위 시스템에는 구성 가능한 속성 또는 리소스가 포함되어 있지 않습니다.
org.eclipse. 모듈은 JBoss EAP에서 MicroProfile JWT 통합을 제공합니다.
microprofile.jwt.auth.api
추가 리소스
2.4.2. 기존 배포와 MicroProfile JWT 배포 간의 차이점 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile JWT 배포는 기존 JBoss EAP 배포와 같은 관리형 SecurityDomain 리소스에 의존하지 않습니다. 대신, MicroProfile JWT 배포에서 가상 SecurityDomain이 생성되고 사용됩니다.
MicroProfile JWT 배포가 전적으로 MicroProfile Config 속성 및 microprofile-jwt-undercloudrye 하위 시스템 내에 구성되므로 가상 SecurityDomain에는 배포에 대한 다른 관리 구성이 필요하지 않습니다.
2.4.3. JBoss EAP에서 MicroProfile JWT 활성화 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile JWT는 애플리케이션에 auth-method 가 있는 애플리케이션에 따라 활성화됩니다.
MicroProfile JWT 통합은 다음과 같은 방식으로 애플리케이션에 대해 활성화됩니다.
-
배포 프로세스의 일부로 JBoss EAP는
auth-method가 있는지 애플리케이션 아카이브를 검사합니다. -
auth-method가 있고MP-JWT로 정의된 경우 MicroProfile JWT 통합이 활성화됩니다.
auth-method 는 다음 파일 중 하나 또는 둘 다에 지정할 수 있습니다.
-
javax.ws.rs.core.Application을 확장하는 클래스가 포함된 파일,@LoginConfig주석이 추가됨 -
web.xml구성 파일
auth-method 가 주석과 web.xml 구성 파일에서 클래스 모두에서 정의되면 web.xml 구성 파일의 정의가 사용됩니다.
2.4.4. JBoss EAP에서 MicroProfile JWT의 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP의 MicroProfile JWT 구현에는 특정 제한이 있습니다.
JBoss EAP에는 MicroProfile JWT 구현의 다음과 같은 제한 사항이 있습니다.
-
MicroProfile JWT 구현은
mp.jwt.verify.publickey속성에 제공된 JWKS(JWKS)의 첫 번째 키만 구문 분석합니다. 따라서 토큰을 두 번째 키 또는 두 번째 키 뒤에 있는 키로 서명해야 하는 경우 토큰 확인이 실패하고 토큰을 포함하는 요청이 인증되지 않습니다. - JWKS의 Base64 인코딩은 지원되지 않습니다.
두 경우 모두 mp.jwt.verify.publickey.location config 속성을 사용하는 대신 일반 텍스트 JWKS를 참조할 수 있습니다.
2.5. MicroProfile OpenAPI 링크 복사링크가 클립보드에 복사되었습니다!
2.5.1. JBoss EAP의 MicroProfile OpenAPI 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile OpenAPI는 microprofile-openapi-undercloudrye 하위 시스템을 사용하여 JBoss EAP에 통합됩니다.
MicroProfile OpenAPI 사양은 OpenAPI 3.0 문서를 제공하는 HTTP 끝점을 정의합니다. OpenAPI 3.0 문서는 호스트의 REST 서비스를 설명합니다. OpenAPI 끝점은 배포와 연결된 호스트의 루트에 로컬로 구성된 경로(예: http://localhost:8080/openapi)를 사용하여 등록됩니다. http://localhost:8080/openapi
현재 가상 호스트의 OpenAPI 엔드포인트는 단일 배포만 문서화할 수 있습니다. 동일한 가상 호스트에서 다른 컨텍스트 경로에 등록된 여러 배포와 함께 OpenAPI를 사용하려면 각 배포에서 별도의 엔드포인트 경로를 사용해야 합니다.
OpenAPI 엔드포인트는 기본적으로 YAML 문서를 반환합니다. Accept HTTP 헤더 또는 형식 쿼리 매개변수를 사용하여 JSON 문서를 요청할 수도 있습니다.
지정된 애플리케이션의 Cryostat 서버 또는 호스트가 HTTPS 리스너를 정의하는 경우 HTTPS를 사용하여 OpenAPI 문서도 사용할 수 있습니다. 예를 들어 HTTPS의 끝점은 https://localhost:8443/openapi 입니다.
2.6. MicroProfile Telemetry 링크 복사링크가 클립보드에 복사되었습니다!
2.6.1. JBoss EAP의 MicroProfile Telemetry 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Telemetry는 OpenTelemetry를 기반으로 애플리케이션에 대한 추적 기능을 제공합니다. 특히 요청이 라이프사이클 동안 여러 서비스를 통해 전달될 수 있는 마이크로 서비스 환경에서 요청을 추적하는 기능이 중요합니다.
MicroProfile Telemetry는 OpenTelemetry 하위 시스템에서 확장되고 MicroProfile Config에 대한 지원을 추가합니다. 이를 통해 사용자는 MicroProfile Config를 사용하여 OpenTelemetry를 구성할 수 있습니다.
MicroProfile Telemetry 하위 시스템에는 구성 가능한 리소스 또는 속성이 없습니다.
2.7. MicroProfile REST Client 링크 복사링크가 클립보드에 복사되었습니다!
2.7.1. MicroProfile REST 클라이언트 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP 5.0.0은 Jakarta RESTful Web Services 2.1.6 클라이언트 API를 기반으로 빌드되는 MicroProfile REST 클라이언트 2.0을 지원하여 HTTP를 통해 RESTful 서비스를 호출할 수 있는 형식이 안전한 접근 방식을 제공합니다. MicroProfile Type Safe REST 클라이언트는 Java 인터페이스로 정의됩니다. MicroProfile REST 클라이언트를 사용하면 실행 가능한 코드로 클라이언트 애플리케이션을 작성할 수 있습니다.
MicroProfile REST 클라이언트를 사용하여 다음 기능을 사용할 수 있습니다.
- 직관적인 구문
- 공급자의 프로그래밍 방식 등록
- 공급자의 선언적 등록
- 헤더의 선언적 사양
- 서버의 헤더 전파
-
ResponseExceptionMapper - Jakarta Contexts and dependency Cryostat 통합
- SSE(서버 관련 이벤트) 액세스
2.7.2. resteasy.original.webapplicationexception.behavior MicroProfile Config 속성 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Config 는 개발자가 애플리케이션을 수정하거나 다시 패키징하지 않고도 여러 환경에서 실행되도록 애플리케이션 및 마이크로서비스를 구성하는 데 사용할 수 있는 사양의 이름입니다. 이전에는 JBoss EAP에서 기술 프리뷰로 MicroProfile Config를 사용할 수 있었지만 이후 제거되었습니다. MicroProfile Config는 이제 JBoss EAP XP에서만 사용할 수 있습니다.
resteasy.original.webapplicationexception.behavior MicroProfile Config 속성 정의
resteasy.original.webapplicationexception.behavior 매개변수를 web.xml 서블릿 속성 또는 시스템 속성으로 설정할 수 있습니다. 다음은 web.xml 에서 이러한 서블릿 속성 중 하나의 예입니다.
<context-param>
<param-name>resteasy.original.webapplicationexception.behavior</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>resteasy.original.webapplicationexception.behavior</param-name>
<param-value>true</param-value>
</context-param>
MicroProfile Config를 사용하여 다른 REST Cryostat 속성을 구성할 수도 있습니다.
2.8. MicroProfile Reactive Messaging 링크 복사링크가 클립보드에 복사되었습니다!
2.8.1. MicroProfile Reactive Messaging 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP 5.0.0으로 업그레이드하면 reactive messaging extensions 및 subsystems를 포함하는 MicroProfile Reactive Messaging의 최신 버전을 활성화할 수 있습니다.
"반복 스트림"은 처리 프로토콜 및 표준과 함께 이벤트 데이터의 연속으로, 버퍼링 없이 비동기 경계(예: 스케줄러)에 푸시됩니다. 예를 들어, "이벤트"가 예정된 일 수 있으며, 예를 들어, 환경 앱에서 온도 검사를 반복할 수 있습니다. 반응 스트림의 주요 이점은 다양한 애플리케이션 및 구현의 원활한 상호 운용성입니다.
반응형 메시징은 이벤트 중심, 데이터 스트리밍 및 이벤트 소싱 애플리케이션을 빌드하기 위한 프레임워크를 제공합니다. 반응성 메시징은 한 앱에서 다른 앱으로 이벤트 데이터, 반응 스트림의 일정 및 원활한 교환을 초래합니다. 예를 들어 애플리케이션이 Apache Kafka와 같은 다른 사용자와 상호 작용할 수 있도록 반응 스트림을 통해 비동기 메시징에 MicroProfile Reactive Messaging을 사용할 수 있습니다.
MicroProfile Reactive Messaging 인스턴스를 최신 버전으로 업그레이드한 후 다음을 수행할 수 있습니다.
- Apache Kafka 데이터 스트리밍 플랫폼에 대한 MicroProfile Reactive Messaging으로 서버를 프로비저닝합니다.
- 최신 반응 메시징 API를 통해 메모리 내 반응형 메시징과 상호 작용하고 Apache Kafka 주제에서 지원합니다.
- 사용 가능한 메트릭 시스템을 사용하여 지정된 채널에서 스트리밍되는 메시지 수를 확인합니다.
2.8.2. MicroProfile Reactive Messaging 커넥터 링크 복사링크가 클립보드에 복사되었습니다!
커넥터를 사용하여 MicroProfile Reactive Messaging을 여러 외부 메시징 시스템과 통합할 수 있습니다. JBoss EAP용 MicroProfile에는 Apache Kafka 커넥터와 AMQP(Advanced Message Queuing Protocol) 커넥터가 포함되어 있습니다. Eclipse MicroProfile Config 사양을 사용하여 커넥터를 구성합니다.
MicroProfile Reactive Messaging 커넥터 및 통합 계층
MicroProfile Reactive Messaging에는 다음과 같은 커넥터가 포함되어 있습니다.
Kafka 커넥터
microprofile-reactive-messaging-kafka계층은 Kafka 커넥터를 통합합니다.AMQP 커넥터
microprofile-reactive-messaging-amqp계층은 AMQP 커넥터를 통합합니다.
두 커넥터 계층 모두 microprofile-reactive-messaging Galleon 계층을 포함합니다. microprofile-reactive-messaging 계층은 핵심 MicroProfile Reactive Messaging 기능을 제공합니다.
| 계층 | 정의 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
2.8.3. Apache Kafka 이벤트 스트리밍 플랫폼 링크 복사링크가 클립보드에 복사되었습니다!
Apache Kafka는 실시간으로 레코드 스트림을 게시, 구독, 저장 및 처리할 수 있는 오픈 소스 분산 이벤트(데이터) 스트리밍 플랫폼입니다. 여러 소스의 이벤트 스트림을 처리하고 여러 소비자에 전달하여 대량의 데이터를 A에서 Z로 이동하고 다른 모든 위치에서 동시에 이동합니다. MicroProfile Reactive Messaging은 Apache Kafka를 사용하여 이러한 이벤트 레코드를 2 마이크로초 미만으로 제공하여 분산된 내결함성 클러스터에 안전하게 저장하고 모든 팀 정의 영역 또는 지역 리전에서 사용할 수 있도록 합니다.
3장. JBoss EAP에서 MicroProfile 관리 링크 복사링크가 클립보드에 복사되었습니다!
3.1. MicroProfile Telemetry 관리 링크 복사링크가 클립보드에 복사되었습니다!
3.1.1. 관리 CLI를 사용하여 MicroProfile Telemetry 하위 시스템 추가 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Telemetry 구성 요소는 microprofile-telemetry 하위 시스템을 통해 기본 MicroProfile 구성에 통합되어 있습니다. 하위 시스템이 포함되지 않은 경우 관리 CLI를 사용하여 MicroProfile Telemetry 하위 시스템을 추가할 수도 있습니다.
사전 요구 사항
- MicroProfile Telemetry 하위 시스템을 추가하기 전에 OpenTelemetry 하위 시스템을 구성에 추가해야 합니다. MicroProfile Telemetry 하위 시스템은 OpenTelemetry 하위 시스템에 따라 다릅니다.
프로세스
- 터미널을 엽니다.
다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2. MicroProfile Telemetry 하위 시스템 활성화 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Telemetry는 기본적으로 비활성화되어 있으며 애플리케이션별로 활성화해야 합니다.
사전 요구 사항
- MicroProfile Telemetry 하위 시스템이 구성에 추가되었습니다.
- OpenTelemetry 하위 시스템이 구성에 추가되었습니다.
프로세스
-
microprofile-config.properties파일을 엽니다. otel.sdk.disabled속성을false로 설정합니다.otel.sdk.disabled=false
otel.sdk.disabled=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. MicroProfile Config를 사용하여 서버 구성 덮어쓰기 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Config를 사용하여 MicroProfile Telemetry 하위 시스템에서 개별 애플리케이션에 대한 서버 구성을 덮어쓸 수 있습니다.
예를 들어 내보낸 추적에 사용되는 서비스 이름은 기본적으로 배포 아카이브와 동일합니다. 배포 아카이브가 my-application-1.0.war 로 설정된 경우 서비스 이름은 동일합니다. 이 구성을 재정의하려면 구성 파일에서 otel.service.name 속성 값을 변경할 수 있습니다.
otel.service.name=My Application
otel.service.name=My Application
3.2. MicroProfile Config 구성 링크 복사링크가 클립보드에 복사되었습니다!
3.2.1. ConfigSource 관리 리소스에 속성 추가 링크 복사링크가 클립보드에 복사되었습니다!
구성 소스 하위 시스템에 직접 속성을 관리 리소스로 저장할 수 있습니다.
프로세스
ConfigSource를 생성하고 속성을 추가합니다.
/subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})/subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. 디렉터리를 ConfigSources로 구성 링크 복사링크가 클립보드에 복사되었습니다!
속성이 파일로 디렉터리에 저장되면 file-name은 속성의 이름이고 파일 콘텐츠는 속성 값입니다.
프로세스
파일을 저장할 디렉터리를 생성합니다.
mkdir -p ~/config/prop-files/
$ mkdir -p ~/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리로 이동합니다.
cd ~/config/prop-files/
$ cd ~/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 속성
이름값을 저장할 파일이름을생성합니다.touch name
$ touch nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 값을 파일에 추가합니다.
echo "jim" > name
$ echo "jim" > nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 이름이 속성인 ConfigSource를 생성하고 파일의 값은 속성 값을 생성합니다.
/subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})/subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면 다음과 같은 XML 구성이 생성됩니다.
<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="file-props"> <dir path="/etc/config/prop-files"/> </config-source> </subsystem><subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="file-props"> <dir path="/etc/config/prop-files"/> </config-source> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.3. 루트 디렉터리를 ConfigSources로 구성 링크 복사링크가 클립보드에 복사되었습니다!
루트 특성을 사용하여 여러 MicroProfile ConfigSource 디렉터리의 루트 디렉터리로 디렉터리를 정의할 수 있습니다.
중첩된 루트 속성은 /subsystem=microprofile-config-undercloudrye/config-source=* 리소스에 대한 dir complex 속성의 일부입니다. 이렇게 하면 동일한 루트 디렉터리를 공유하는 경우 여러 ConfigSource 디렉터리를 지정할 필요가 없습니다.
root 디렉토리 내에서 직접 모든 파일은 무시됩니다. 구성에 사용되지 않습니다. 최상위 디렉터리는 ConfigSources로 처리됩니다. 중첩된 디렉터리도 무시됩니다.
최상위 디렉토리의 ConfigSources에는 기본적으로 /subsystem=microprofile-config-undercloudrye/config-source=* 리소스의 ordinal 이 할당됩니다.
최상위 디렉터리에 config_ordinal 파일이 포함된 경우 파일에 지정된 값이 기본 ordinal 값을 재정의합니다. 동일한 서수 의 상위 수준 디렉터리에 동일한 항목이 포함된 경우 디렉터리 이름이 알파벳순으로 정렬되고 첫 번째 디렉터리가 사용됩니다.
사전 요구 사항
-
MicroProfile Config 확장을 설치하고
microprofile-config-undercloudrye하위 시스템을 활성화했습니다.
프로세스
- 터미널을 엽니다.
파일을 저장할 디렉터리를 생성합니다.
mkdir -p ~/etc/config/prop-files/
mkdir -p ~/etc/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성한 디렉터리로 이동합니다.
cd ~/etc/config/prop-files/
cd ~/etc/config/prop-files/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 속성
이름값을 저장할 파일이름을생성합니다.touch name
touch nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 값을 파일에 추가합니다.
echo "jim" > name
echo "jim" > nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow CLI에서 다음 명령을 실행하여 파일 이름이 속성이고 파일에 속성 값이 포함된 ConfigSource를 생성합니다.
/subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})/subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면 XML 구성이 생성됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.4. ConfigSource 클래스에서 ConfigSource 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 org.eclipse.microprofile.config.spi.ConfigSource 구현 클래스를 생성하고 구성 값에 대한 소스를 제공할 수 있습니다.
프로세스
다음 관리 CLI 명령은
org.example이라는 JBoss 모듈에서 제공하는org.example.My라는 구현 클래스에 대한 ConfigSource를 생성합니다.ConfigSourceorg.example모듈의ConfigSource를 사용하려면 <module name="org.eclipse.microprofile.config.api"/> 종속성을path/to/org/example/main/module.xml파일에 추가합니다./subsystem=microprofile-config-smallrye/config-source=my-config-source:add(class={name=org.example.MyConfigSource, module=org.example})/subsystem=microprofile-config-smallrye/config-source=my-config-source:add(class={name=org.example.MyConfigSource, module=org.example})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하면
microprofile-config-undercloudrye하위 시스템에 대해 다음과 같은 XML 구성이 생성됩니다.<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="my-config-source"> <class name="org.example.MyConfigSource" module="org.example"/> </config-source> </subsystem><subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="my-config-source"> <class name="org.example.MyConfigSource" module="org.example"/> </config-source> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
사용자 정의 org.eclipse.microprofile.config.spi.ConfigSource 구현 클래스에서 제공하는 속성은 모든 JBoss EAP 배포에서 사용할 수 있습니다.
3.2.5. ConfigSourceProvider 클래스에서 ConfigSource 구성 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
여러 ConfigSource 인스턴스의 구현을 등록하는 사용자 지정 org.eclipse.microprofile.config.spi.ConfigSourceProvider 구현 클래스를 생성하고 구성할 수 있습니다.
프로세스
config-source-provider를 생성합니다./subsystem=microprofile-config-smallrye/config-source-provider=my-config-source-provider:add(class={name=org.example.MyConfigSourceProvider, module=org.example})/subsystem=microprofile-config-smallrye/config-source-provider=my-config-source-provider:add(class={name=org.example.MyConfigSourceProvider, module=org.example})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
org.example이라는 JBoss 모듈에서 제공하는org.example.MyConfigSourceProvider라는 구현 클래스에 대해config-source-provider를 생성합니다.org.example모듈의config-source-provider를 사용하려면 <module name="org.eclipse.microprofile.config.api"/> 종속성을path/to/org/example/main/module.xml파일에 추가합니다.이 명령을 실행하면
microprofile-config-undercloudrye하위 시스템에 대해 다음과 같은 XML 구성이 생성됩니다.<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source-provider name="my-config-source-provider"> <class name="org.example.MyConfigSourceProvider" module="org.example"/> </config-source-provider> </subsystem><subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source-provider name="my-config-source-provider"> <class name="org.example.MyConfigSourceProvider" module="org.example"/> </config-source-provider> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ConfigSourceProvider 구현에서 제공하는 속성은 모든 JBoss EAP 배포에서 사용할 수 있습니다.
3.3. MicroProfile Fault Tolerance 구성 링크 복사링크가 클립보드에 복사되었습니다!
3.3.1. MicroProfile Fault Tolerance 확장 추가 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Fault Tolerance 확장은 JBoss EAP XP의 일부로 제공되는 standalone-microprofile.xml 및 standalone-microprofile-ha.xml 구성에 포함되어 있습니다.
확장은 표준 standalone.xml 구성에 포함되지 않습니다. 확장을 사용하려면 수동으로 활성화해야 합니다.
사전 요구 사항
- JBoss EAP XP 5.0을 사용한 JBoss EAP 8.0이 설치되어 있습니다.
프로세스
다음 관리 CLI 명령을 사용하여 MicroProfile Fault Tolerance 확장을 추가합니다.
/extension=org.wildfly.extension.microprofile.fault-tolerance-smallrye:add
/extension=org.wildfly.extension.microprofile.fault-tolerance-smallrye:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 managenent 명령을 사용하여
microprofile-fault-tolerance-undercloudrye하위 시스템을 활성화합니다./subsystem=microprofile-fault-tolerance-smallrye:add
/subsystem=microprofile-fault-tolerance-smallrye:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 명령을 사용하여 서버를 다시 로드합니다.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. MicroProfile 상태 구성 링크 복사링크가 클립보드에 복사되었습니다!
3.4.1. 관리 CLI를 사용하여 상태 검사 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 시스템 상태를 확인할 수 있습니다.
프로세스
상태를 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. 관리 콘솔을 사용하여 상태 검사 링크 복사링크가 클립보드에 복사되었습니다!
관리 콘솔을 사용하여 시스템 상태를 확인할 수 있습니다.
검사 런타임 작업은 상태 점검과 글로벌 결과를 부울 값으로 표시합니다.
프로세스
- 런타임 탭으로 이동하여 서버를 선택합니다.
- Monitor 열에서 MicroProfile Health → View 를 클릭합니다.
3.4.3. HTTP 끝점을 사용하여 상태 검사 링크 복사링크가 클립보드에 복사되었습니다!
상태 점검은 JBoss EAP의 상태 컨텍스트에 자동으로 배포되므로 HTTP 끝점을 사용하여 현재 상태를 얻을 수 있습니다.
관리 인터페이스에서 액세스할 수 있는 /health 끝점의 기본 주소는 http://127.0.0.1:9990/health 입니다.
프로세스
HTTP 끝점을 사용하여 서버의 현재 상태를 얻으려면 다음 URL을 사용합니다.
http://<host>:<port>/health
http://<host>:<port>/healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 컨텍스트에 액세스하면 서버가 정상 상태인지 여부를 나타내는 JSON 형식의 상태 점검이 표시됩니다.
3.4.4. MicroProfile 상태에 대한 인증 활성화 링크 복사링크가 클립보드에 복사되었습니다!
액세스를 위해 인증이 필요하도록 상태 컨텍스트를 구성할 수 있습니다.
프로세스
microprofile-health-undercloudrye 하위 시스템에서속성을security-enabledtrue로 설정합니다./subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)
/subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 서버를 다시 로드합니다.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이후 /health 엔드포인트에 액세스하려고 하면 인증 프롬프트가 트리거됩니다.
3.4.5. 서버 상태 및 준비 상태를 확인하는 준비 상태 프로브 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP 5.0.0은 서버 상태 및 준비 상태를 확인하기 위해 세 가지 준비 상태 프로브를 지원합니다.
-
server-status- server-state가실행중일 때UP을 반환합니다. -
boot-errors- 프로브에서 부팅 오류를 감지하지 않으면UP을 반환합니다. -
deployment-status- 모든 배포의 상태가OK이면UP을 반환합니다.
이러한 준비 상태 프로브는 기본적으로 활성화되어 있습니다. MicroProfile Config 속성 mp.health.disable-default-procedures 를 사용하여 프로브를 비활성화할 수 있습니다.
다음 예제에서는 검사 작업에서 세 개의 프로브를 사용하는 방법을 보여줍니다.
3.4.6. 프로브가 정의되지 않은 경우 글로벌 상태 링크 복사링크가 클립보드에 복사되었습니다!
:empty-readiness-checks-status,:empty-, liveness -checks-status:empty-startup-checks-status 관리 속성은 준비 상태, 활성 상태 또는 시작 프로브가 정의되지 않은 경우 글로벌 상태를 지정합니다.
이러한 속성을 사용하면 애플리케이션이 애플리케이션이 준비되었는지, 실시간 또는 시작 여부를 확인할 때까지 애플리케이션이 'DOWN'을 보고할 수 있습니다. 기본적으로 애플리케이션은 'UP'을 보고합니다.
:empty-속성은readiness-checks-status준비프로브가 정의되지 않은 경우 준비 상태 프로브의 글로벌 상태를 지정합니다./subsystem=microprofile-health-smallrye:read-attribute(name=empty-readiness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-readiness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow :empty-속성은 활성 프로브가 정의되지 않은 경우 활성 프로브에 대한 글로벌 상태를 지정합니다.liveness-checks-status/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow :empty-속성은 시작 프로브가 정의되지 않은 경우startup-checks-status시작프로브에 대한 글로벌 상태를 지정합니다./subsystem=microprofile-health-smallrye:read-attribute(name=empty-startup-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}" }/subsystem=microprofile-health-smallrye:read-attribute(name=empty-startup-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 준비상태 프로브,활성상태 프로브 및시작프로브를 확인하는/healthHTTP 끝점 및:check작업도 이러한 특성을 고려합니다.
다음 예와 같이 이러한 속성을 수정할 수도 있습니다.
3.5. MicroProfile JWT 구성 링크 복사링크가 클립보드에 복사되었습니다!
3.5.1. microprofile-jwt-Neutronrye 하위 시스템 활성화 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile JWT 통합은 microprofile-jwt-undercloudrye 하위 시스템에서 제공하며 기본 구성에 포함되어 있습니다. 기본 구성에 하위 시스템이 없으면 다음과 같이 추가할 수 있습니다.
사전 요구 사항
- JBoss EAP XP 5.0을 사용한 JBoss EAP 8.0이 설치되어 있습니다.
프로세스
JBoss EAP에서 MicroProfile JWT smallrye 확장을 활성화합니다.
/extension=org.wildfly.extension.microprofile.jwt-smallrye:add
/extension=org.wildfly.extension.microprofile.jwt-smallrye:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow microprofile-jwt-undercloudrye 하위시스템을 활성화합니다./subsystem=microprofile-jwt-smallrye:add
/subsystem=microprofile-jwt-smallrye:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서버를 다시 로드합니다.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
microprofile-jwt-Neutronrye 하위 시스템이 활성화됩니다.
3.6. MicroProfile OpenAPI 관리 링크 복사링크가 클립보드에 복사되었습니다!
3.6.1. MicroProfile OpenAPI 활성화 링크 복사링크가 클립보드에 복사되었습니다!
microprofile-openapi-undercloudrye 하위 시스템은 standalone-microprofile.xml 구성에 제공됩니다. 그러나 JBoss EAP XP는 기본적으로 standalone.xml 을 사용합니다. 이를 사용하려면 standalone.xml 에 하위 시스템을 포함해야 합니다.
또는 MicroProfile 하위 시스템 및 확장 기능을 사용하여 독립 실행형 구성 업데이트 절차에 따라 standalone.xml 구성 파일을 업데이트할 수 있습니다.
프로세스
JBoss EAP에서 MicroProfile OpenAPI smallrye 확장을 활성화합니다.
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 명령을 사용하여
microprofile-openapi-undercloudrye하위 시스템을 활성화합니다./subsystem=microprofile-openapi-smallrye:add()
/subsystem=microprofile-openapi-smallrye:add()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버를 다시 로드합니다.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
microprofile-openapi-Neutronrye 하위 시스템이 활성화됩니다.
3.6.2. Accept HTTP 헤더를 사용하여 MicroProfile OpenAPI 문서 요청 링크 복사링크가 클립보드에 복사되었습니다!
Accept HTTP 헤더를 사용하여 배포에서 MicroProfile OpenAPI 문서를 JSON 형식으로 요청합니다.
기본적으로 OpenAPI 엔드포인트는 YAML 문서를 반환합니다.
사전 요구 사항
- 쿼리 중인 배포는 MicroProfile OpenAPI 문서를 반환하도록 구성됩니다.
프로세스
다음
curl명령을 실행하여 배포의/openapi엔드포인트를 쿼리합니다.curl -v -H'Accept: application/json' http://localhost:8080/openapi < HTTP/1.1 200 OK ... {"openapi": "3.0.1" ... }$ curl -v -H'Accept: application/json' http://localhost:8080/openapi < HTTP/1.1 200 OK ... {"openapi": "3.0.1" ... }Copy to Clipboard Copied! Toggle word wrap Toggle overflow http://localhost:8080 를 배포의 URL 및 포트로 교체합니다.
Accept 헤더는
application/json문자열을 사용하여 JSON 문서를 반환함을 나타냅니다.
3.6.3. HTTP 매개변수를 사용하여 MicroProfile OpenAPI 문서 요청 링크 복사링크가 클립보드에 복사되었습니다!
HTTP 요청의 쿼리 매개변수를 사용하여 배포에서 MicroProfile OpenAPI 문서를 요청합니다.
기본적으로 OpenAPI 엔드포인트는 YAML 문서를 반환합니다.
사전 요구 사항
- 쿼리 중인 배포는 MicroProfile OpenAPI 문서를 반환하도록 구성됩니다.
프로세스
다음
curl명령을 실행하여 배포의/openapi엔드포인트를 쿼리합니다.curl -v http://localhost:8080/openapi?format=JSON < HTTP/1.1 200 OK ...
$ curl -v http://localhost:8080/openapi?format=JSON < HTTP/1.1 200 OK ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow http://localhost:8080 를 배포의 URL 및 포트로 교체합니다.
HTTP 매개변수
format=JSON은 JSON 문서가 반환됨을 나타냅니다.
3.6.4. 정적 OpenAPI 문서를 제공하도록 JBoss EAP 구성 링크 복사링크가 클립보드에 복사되었습니다!
호스트의 REST 서비스를 설명하는 정적 OpenAPI 문서를 제공하도록 JBoss EAP를 구성합니다.
JBoss EAP가 정적 OpenAPI 문서를 제공하도록 구성된 경우 정적 OpenAPI 문서는 Jakarta RESTful Web Services 및 MicroProfile OpenAPI 주석보다 먼저 처리됩니다.
프로덕션 환경에서 정적 문서를 제공할 때 주석 처리를 비활성화합니다. 주석 처리를 비활성화하면 클라이언트에 변경 불가능한 버전이 지정된 API 계약을 사용할 수 있습니다.
프로세스
애플리케이션 소스 트리에 디렉터리를 생성합니다.
mkdir APPLICATION_ROOT/src/main/webapp/META-INF
$ mkdir APPLICATION_ROOT/src/main/webapp/META-INFCopy to Clipboard Copied! Toggle word wrap Toggle overflow APPLICATION_ROOT 는 애플리케이션의
pom.xml구성 파일을 포함하는 디렉터리입니다.OpenAPI 엔드포인트를 쿼리하여 출력을 파일로 리디렉션합니다.
curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json
$ curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 끝점은 YAML 문서를 제공하며
format=JSON은 JSON 문서가 반환되도록 지정합니다.OpenAPI 문서 모델을 처리할 때 주석 스캔을 건너뛰도록 애플리케이션을 구성합니다.
echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties
$ echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 다시 빌드합니다.
mvn clean install
$ mvn clean installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 CLI 명령을 사용하여 애플리케이션을 다시 배포합니다.
애플리케이션 배포를 취소합니다.
undeploy microprofile-openapi.war
undeploy microprofile-openapi.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 배포합니다.
deploy APPLICATION_ROOT/target/microprofile-openapi.war
deploy APPLICATION_ROOT/target/microprofile-openapi.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow
JBoss EAP는 이제 OpenAPI 엔드포인트에서 정적 OpenAPI 문서를 제공합니다.
3.6.5. microprofile-openapi-undercloudrye 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 JBoss EAP XP에서 microprofile-openapi-undercloudrye 하위 시스템을 비활성화할 수 있습니다.
프로세스
microprofile-openapi-Neutronrye하위 시스템을 비활성화합니다./subsystem=microprofile-openapi-smallrye:remove()
/subsystem=microprofile-openapi-smallrye:remove()Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7. MicroProfile Reactive Messaging 관리 링크 복사링크가 클립보드에 복사되었습니다!
3.7.1. JBoss EAP에 필요한 MicroProfile reactive 메시징 확장 및 하위 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 인스턴스에 비동기 반응 메시징을 활성화하려면 JBoss EAP 관리 CLI를 통해 확장을 추가해야 합니다.
사전 요구 사항
- SmallRye 확장 및 하위 시스템을 사용하여 Reactive Streams Operator가 추가되었습니다. 자세한 내용은 MicroProfile Reactive Streams Operators Cryostat Configuration: Required Extension 을 참조하십시오.
- SmallRye 확장 및 하위 시스템을 사용하여 Reactive Messaging을 추가했습니다.
프로세스
- JBoss EAP 관리 CLI를 엽니다.
- 다음 코드를 입력합니다.
OpenShift에서 Galleon을 사용하여 서버를 프로비저닝하는 경우 마이크로profile-reactive-messaging Galleon 계층을 포함하여 코어 MicroProfile 2.0.1 및 reactive 메시징 기능을 가져오고 필요한 하위 시스템 및 확장을 활성화하십시오. 이 구성에는 커넥터를 활성화하는 데 필요한 JBoss EAP 모듈이 포함되어 있지 않습니다. microprofile-reactive-messaging-kafka 계층 또는 microprofile-reactive-messaging-amqp 계층을 사용하여 Kafka 커넥터 또는 AMQP 커넥터를 각각 활성화합니다.
검증
관리 CLI에서 결과 코드에서 두 곳에서 성공이 표시되는 경우 JBoss EAP에 필요한 MicroProfile Reactive Messaging 확장 및 하위 시스템을 성공적으로 추가했습니다.
결과 코드에서 reload-required 라고 하는 경우 서버 구성을 다시 로드하여 모든 변경 사항을 완전히 적용해야 합니다. 다시 로드하려면 독립 실행형 서버 CLI에서 reload 를 입력합니다.
3.8. 독립 실행형 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
3.8.1. 독립 실행형 서버 구성 파일 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP에는 독립 실행형 서버 구성 파일, standalone-microprofile.xml 및 standalone-microprofile-ha.xml 이 포함되어 있습니다.
JBoss EAP에 포함된 표준 구성 파일은 변경되지 않습니다. JBoss EAP XP 5.0.0은 domain.xml 파일 또는 도메인 모드를 지원하지 않습니다.
| 구성 파일 | 목적 | 포함된 기능 | 제외된 기능 |
|---|---|---|---|
|
| 독립 실행형 서버를 시작할 때 사용되는 기본 구성입니다. | 하위 시스템, 네트워킹, 배포, 소켓 바인딩 및 기타 구성 가능한 세부 정보를 포함하여 서버에 대한 정보를 포함합니다. | 메시징 또는 고가용성에 필요한 하위 시스템을 제외합니다. |
|
| 이 구성 파일은 MicroProfile을 사용하는 애플리케이션을 지원합니다. | 하위 시스템, 네트워킹, 배포, 소켓 바인딩 및 기타 구성 가능한 세부 정보를 포함하여 서버에 대한 정보를 포함합니다. | 다음 기능을 제외합니다.
|
|
|
기본 하위 시스템을 포함하고 고가용성을 위해 | 메시징에 필요한 하위 시스템을 제외합니다. | |
|
| 이 독립 실행형 파일은 MicroProfile을 사용하는 애플리케이션을 지원합니다. |
기본 하위 시스템 외에도 고가용성을 위해 | 메시징에 필요한 하위 시스템을 제외합니다. |
|
|
기본 하위 시스템 외에도 | ||
|
| 가능한 모든 하위 시스템을 지원합니다. | 기본 하위 시스템 외에도 메시징 및 고가용성을 위한 하위 시스템 포함. | |
|
| 기본 제공 mod_cluster 프런트 엔드 로드 밸런서를 사용하여 다른 JBoss EAP 인스턴스의 부하를 분산하는 데 필요한 최소 하위 시스템 지원. |
기본적으로 JBoss EAP를 독립 실행형 서버로 시작하면 standalone.xml 파일이 사용됩니다. 독립 실행형 MicroProfile 구성으로 JBoss EAP를 시작하려면 -c 인수를 사용합니다. 예를 들면 다음과 같습니다.
<EAP_HOME>/bin/standalone.sh -c=standalone-microprofile.xml
$ <EAP_HOME>/bin/standalone.sh -c=standalone-microprofile.xml
3.8.2. MicroProfile 하위 시스템 및 확장을 사용하여 독립 실행형 구성 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
docs/examples/enable-microprofile.cli 스크립트를 사용하여 MicroProfile 하위 시스템 및 확장을 사용하여 표준 독립 실행형 서버 구성 파일을 업데이트할 수 있습니다. enable-microprofile.cli 스크립트는 사용자 지정 구성이 아닌 표준 독립 실행형 서버 구성 파일을 업데이트하기 위한 예제 스크립트로 사용됩니다.
enable-microprofile.cli 스크립트는 기존 독립 실행형 서버 구성을 수정하고 독립 실행형 구성 파일에 없는 경우 다음 MicroProfile 하위 시스템 및 확장을 추가합니다.
-
microprofile-config-smallrye -
microprofile-fault-tolerance-smallrye -
microprofile-health-smallrye -
microprofile-jwt-smallrye -
microprofile-openapi-smallrye
enable-microprofile.cli 스크립트는 수정 사항에 대한 높은 수준의 설명을 출력합니다. 구성은 elytron 하위 시스템을 사용하여 보호됩니다. 보안 하위 시스템은 (있는 경우) 구성에서 제거됩니다.
사전 요구 사항
- JBoss EAP XP 5.0을 사용한 JBoss EAP 8.0이 설치되어 있습니다.
프로세스
다음 CLI 스크립트를 실행하여 기본
standalone.xml서버 구성 파일을 업데이트합니다.<EAP_HOME>/bin/jboss-cli.sh --file=docs/examples/enable-microprofile.cli
$ <EAP_HOME>/bin/jboss-cli.sh --file=docs/examples/enable-microprofile.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 기본
standalone.xml서버 구성 파일 이외의 독립 실행형 서버 구성을 선택합니다.<EAP_HOME>/bin/jboss-cli.sh --file=docs/examples/enable-microprofile.cli -Dconfig=<standalone-full.xml|standalone-ha.xml|standalone-full-ha.xml>
$ <EAP_HOME>/bin/jboss-cli.sh --file=docs/examples/enable-microprofile.cli -Dconfig=<standalone-full.xml|standalone-ha.xml|standalone-full-ha.xml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이제 지정된 구성 파일에 MicroProfile 하위 시스템 및 확장 기능이 포함됩니다.
4장. JBoss EAP용 MicroProfile 애플리케이션 개발 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile API를 사용하는 애플리케이션 개발을 시작하려면 Maven 프로젝트를 생성하고 필요한 종속 항목을 정의합니다. 애플리케이션 POM(Project Object Model)에서 런타임 Maven 종속 항목 버전을 제어하려면 JBoss EAP BOM( MicroProfileServiceVersion of materials)을 사용합니다.
Maven 프로젝트를 생성한 후 특정 MicroProfile API의 애플리케이션 개발에 대한 정보는 JBoss EAP XP 빠른 시작을 참조하십시오. 자세한 내용은 JBoss EAP XP 빠른 시작을 참조하십시오.
4.1. maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
maven-archetype-webapp archetype을 사용하여 JBoss EAP 배포를 위한 애플리케이션을 구축하기 위한 Maven 프로젝트를 생성합니다. Maven은 프로젝트 유형과 관련된 템플릿을 기반으로 프로젝트를 생성하는 데 필요한 다양한 archetypes를 제공합니다. maven-archetype-webapp 은 간단한 웹 애플리케이션을 개발하는 데 필요한 구조를 사용하여 프로젝트를 생성합니다.
사전 요구 사항
- Maven이 설치되어 있어야 합니다. 자세한 내용은 Apache Maven 다운로드를 참조하십시오.
프로세스
mvn명령을 사용하여 Maven 프로젝트를 설정합니다. 명령은 프로젝트에 대한 디렉터리 구조와pom.xml구성 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성된 디렉터리로 이동합니다.
-
텍스트 편집기에서 생성된
pom.xml구성 파일을 엽니다. <name>
helloworld Maven Webapp</name> 행 뒤에pom.xml구성 파일의 <project> 섹션 내의 콘텐츠를 제거합니다.파일이 다음과 같이 표시되는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션에 필요하지 않기 때문에 콘텐츠가 제거되었습니다.
4.2. Maven 프로젝트에서 속성 정의 링크 복사링크가 클립보드에 복사되었습니다!
Maven pom.xml 구성 파일에서 속성을 값의 위치 소유자로 정의할 수 있습니다. 구성에서 일관되게 값을 사용하려면 JBoss EAP XP 서버의 값을 속성으로 정의합니다.
사전 요구 사항
Maven 프로젝트를 초기화했습니다.
자세한 내용은
maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 을 참조하십시오.
프로세스
구성된 애플리케이션을 배포할 JBoss EAP XP 버전으로 <
version.bom.microprofile> 속성을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. Maven 프로젝트에서 리포지토리 정의 링크 복사링크가 클립보드에 복사되었습니다!
Maven이 다운로드할 아티팩트 및 플러그인을 찾는 아티팩트 및 플러그인 리포지토리를 정의합니다.
사전 요구 사항
Maven 프로젝트를 초기화했습니다.
자세한 내용은
maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 을 참조하십시오.
4.4. Maven 프로젝트에서 JBoss EAP MicroProfile BOM을 종속성 관리로 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP BMC(BOM)를 가져와서 런타임 Maven 종속성 버전을 제어합니다. < dependencyManagement > 섹션에 BOM을 지정하는 경우 제공된 범위에 정의된 Maven 종속 항목의 버전을 개별적으로 지정할 필요가 없습니다.
사전 요구 사항
Maven 프로젝트를 초기화했습니다.
자세한 내용은
maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 을 참조하십시오.
프로세스
pom.xml구성 파일의 properties 섹션에 BOM 버전의 속성을 추가합니다.<properties> ... <version.bom.microprofile>5.0.0.GA-redhat-00009</version.bom.microprofile> </properties><properties> ... <version.bom.microprofile>5.0.0.GA-redhat-00009</version.bom.microprofile> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
version.bom.microprofile>속성에 정의된 값은 BOM 버전의 값으로 사용됩니다.JBoss EAP BOMs 종속성 관리를 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
필요한 경우 Tools bill이 포함된 JBoss EAP EE를 프로젝트로 가져올 수 있습니다. 자세한 내용은 Maven 프로젝트에서 JBoss EAP BOM을 종속성 관리로 가져오기를 참조하십시오.
4.5. Maven 프로젝트에서 JBoss EAP BOM을 종속성 관리로 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
필요한 경우 BOM(도구 BBM)을 사용하여 JBoss EAP EE를 가져올 수 있습니다. JBoss EAP BOM은 지원되는 JBoss EAP Java EE API와 추가 JBoss EAP API JAR 및 클라이언트 BOM을 제공합니다. 애플리케이션에 Microprofile API 외에도 Jakarta EE API가 필요한 경우에만 이 BOM을 가져올 수 있습니다.
사전 요구 사항
Maven 프로젝트를 초기화했습니다.
자세한 내용은
maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 을 참조하십시오.
프로세스
pom.xml구성 파일의 properties 섹션에 BOM 버전의 속성을 추가합니다.<properties> .... <version.bom.ee>8.0.0.GA-redhat-00009</version.bom.ee> </properties><properties> .... <version.bom.ee>8.0.0.GA-redhat-00009</version.bom.ee> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP BOMs 종속성 관리를 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6. Maven 프로젝트에서 플러그인 관리 추가 링크 복사링크가 클립보드에 복사되었습니다!
Maven 플러그인 관리 섹션을 pom.xml 구성 파일에 추가하여 Maven CLI 명령에 필요한 플러그인을 가져옵니다.
사전 요구 사항
Maven 프로젝트를 초기화했습니다.
자세한 내용은
maven-archetype-webapp을 사용하여 Maven 프로젝트 생성 을 참조하십시오.
프로세스
<
properties> 섹션에서의 버전을 정의합니다.wildfly-maven-plugin및maven-war-plugin<properties> ... <version.plugin.wildfly>4.2.1.Final</version.plugin.wildfly> <version.plugin.war>3.3.2</version.plugin.war> </properties><properties> ... <version.plugin.wildfly>4.2.1.Final</version.plugin.wildfly> <version.plugin.war>3.3.2</version.plugin.war> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
;를 추가합니다.project> 섹션의 <>build> 섹션에 <pluginManagementCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.7. maven 프로젝트 확인 링크 복사링크가 클립보드에 복사되었습니다!
빌드를 구성한 Maven 프로젝트가 있는지 확인합니다.
사전 요구 사항
Maven 속성이 정의되어 있습니다.
자세한 내용은 Maven 프로젝트의 속성 정의를 참조하십시오.
Maven 리포지토리가 정의되어 있습니다.
자세한 내용은 Maven 프로젝트의 리포지토리 정의를 참조하십시오.
JBoss BOM(Bill of materials)을 종속성 관리로 가져왔습니다.
자세한 내용은 Maven 프로젝트에서 JBoss EAP MicroProfile BOM을 종속성 관리로 가져오기를 참조하십시오.
플러그인 관리를 추가했습니다.
자세한 내용은 서버 hello world 애플리케이션의 Maven 프로젝트에서 플러그인 관리 추가를 참조하십시오.
프로세스
pom.xml에 추가된 Maven 종속성을 로컬로 설치합니다.mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 유사한 출력이 표시됩니다.
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
특정 MicroProfile API용 애플리케이션 개발에 대한 자세한 내용은 JBoss EAP XP 빠른 시작을 참조하십시오.
5장. Micrometer 통합 이해 링크 복사링크가 클립보드에 복사되었습니다!
5.1. JBoss EAP의 마이크로미터 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP의 마이크로미터 통합에는 애플리케이션 간 성능 메트릭을 등록하고 추적하는 재사용 가능한 API가 있는 벤더 중립적 관찰 계층이 도입되었습니다. 이 확장 기능은 Micrometer와 통합되어 배포된 애플리케이션이 API에 액세스하고 확장 기능에서 제공하는 서버 지표와 함께 애플리케이션별 메트릭을 표시할 수 있습니다.
JBoss EAP는 기존 지표 하위 시스템을 사용합니다. 이 확장을 수동으로 추가하고 구성해야 합니다.
6장. JBoss EAP에서 Micrometer 관리 링크 복사링크가 클립보드에 복사되었습니다!
6.1. 관리 CLI를 사용하여 Micrometer 하위 시스템 추가 링크 복사링크가 클립보드에 복사되었습니다!
Micrometer 하위 시스템은 포괄적인 지표 수집 및 게시를 통해 JBoss EAP의 모니터링 기능을 향상시킵니다. 그러나 org.jboss.extension.micrometer 하위 시스템은 JBoss EAP 배포 내의 모든 독립 실행형 구성에서 사용할 수 있지만 수동으로 추가해야 합니다.
사전 요구 사항
- JBoss EAP XP 5.0을 사용한 JBoss EAP 8.0이 설치되어 있습니다.
- JBoss EAP 관리 CLI 및 구성 변경 권한에 액세스할 수 있습니다.
프로세스
- 터미널을 엽니다.
다음 명령을 실행하여 서버에 연결합니다.
./jboss-cli.sh --connect
./jboss-cli.sh --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Micrometer 확장이 구성에 이미 추가되었는지 확인합니다.
[standalone@localhost:9990 /] /extension=org.wildfly.extension.micrometer:read-resource
[standalone@localhost:9990 /] /extension=org.wildfly.extension.micrometer:read-resourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Micrometer 확장을 사용할 수 없는 경우 다음 명령을 실행하여 추가합니다.
[standalone@localhost:9990 /] /extension=org.wildfly.extension.micrometer:add
[standalone@localhost:9990 /] /extension=org.wildfly.extension.micrometer:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 구성으로 Micrometer 하위 시스템을 추가합니다. 예를 들어 다음 명령을 실행하여 메트릭 수집기의 끝점 URL을 지정합니다.
[standalone@localhost:9990 /] /subsystem=micrometer:add(endpoint="http://localhost:4318/v1/metrics")
[standalone@localhost:9990 /] /subsystem=micrometer:add(endpoint="http://localhost:4318/v1/metrics")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버를 다시 로드하여 변경 사항을 적용합니다.
[standalone@localhost:9990 /] reload
[standalone@localhost:9990 /] reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
수집기가 실행 중이 아니거나 해당 수집기 끝점을 사용할 수 없는 경우 다음과 유사한 경고 메시지가 트리거됩니다.
11:28:16,581 WARNING [io.micrometer.registry.otlp.OtlpMeterRegistry] (MSC service thread 1-5) Failed to publish metrics to OTLP receiver: java.net.ConnectException: Connection refused
11:28:16,581 WARNING [io.micrometer.registry.otlp.OtlpMeterRegistry] (MSC service thread 1-5) Failed to publish metrics to OTLP receiver: java.net.ConnectException: Connection refused
이러한 단계를 수행하면 관리 CLI를 사용하여 Micrometer 하위 시스템을 JBoss EAP 서버에 추가하여 애플리케이션에 대한 향상된 모니터링 기능을 활성화할 수 있습니다.
7장. JBoss EAP용 Micrometer 애플리케이션 개발 링크 복사링크가 클립보드에 복사되었습니다!
7.1. JBoss EAP에서 Micrometer 지표 통합 링크 복사링크가 클립보드에 복사되었습니다!
Micrometer를 사용하면 JBoss EAP에서 애플리케이션 지표를 모니터링하고 수집할 수 있습니다. 마이크로미터 지원은 애플리케이션 메트릭의 노출을 제공합니다. 내보내기 프로세스는 PUSH 기반이므로 메트릭이 OpenTelemetry 수집기로 전송됩니다.
사전 요구 사항
- JDK 17을 설치했습니다.
- Maven 3.6 이상을 설치했습니다. 자세한 내용은 Apache Maven 다운로드를 참조하십시오.
- Docker를 설치했습니다. 자세한 내용은 Docker 가져오기 를 참조하십시오.
- 선택 사항: podman이 시스템에 설치되어 있어야 합니다. 지원되는 RHEL에서 사용 가능한 최신 podman 버전을 사용합니다. 자세한 내용은 Red Hat JBoss Enterprise Application Platform 8.0 지원 구성을 참조하십시오.
-
configure-micrometer.cli파일은 애플리케이션 루트 디렉터리에서 사용할 수 있습니다.
configure-micrometer.cli 파일을 사용하는 방법을 포함하여 이 섹션의 예는 Micrometer 빠른 시작을 기반으로 합니다.
프로세스
- 터미널을 엽니다.
다음 스크립트를 사용하여 JBoss EAP를 독립 실행형 서버로 시작합니다.
<EAP_HOME>/bin/standalone.sh -c standalone-microprofile.xml
$ <EAP_HOME>/bin/standalone.sh -c standalone-microprofile.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Windows 서버의 경우 <
EAP_HOME> \bin\standalone.batch 스크립트를사용합니다.- 새 터미널을 엽니다.
- 애플리케이션 루트 디렉터리로 이동합니다.
다음 명령을 실행하여 서버를 구성합니다.
<EAP_HOME>/bin/jboss-cli.sh --connect --file=configure-micrometer.cli
$ <EAP_HOME>/bin/jboss-cli.sh --connect --file=configure-micrometer.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Windows 서버의 경우 <
EAP_HOME> \bin\jboss-cli.extension 스크립트를사용합니다.& lt;EAP_HOME >을 서버 경로로 바꿉니다.
예상 출력:
The batch executed successfully process-state: reload-required
The batch executed successfully process-state: reload-requiredCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 명령을 사용하여 서버를 다시 로드합니다.
<EAP_HOME>/bin/jboss-cli.sh --connect --commands=reload
$ <EAP_HOME>/bin/jboss-cli.sh --connect --commands=reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
docker-compose.yaml이라는 구성 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
otel-collector-config.yaml이라는 구성 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 수집기 서버 인스턴스를 시작합니다.
docker-compose up
$ docker-compose upCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Docker 대신 Podman을 사용할 수도 있습니다. Podman을 선택하는 경우
$ docker-compose up대신$ podman-compose up명령을 사용하십시오. 환경에서 Docker 또는 Podman이 지원되지 않는 경우 OpenTelemetry 수집기 설치 및 실행에 대한 지침은 Otel Collector 설명서 를 참조하십시오.RootResource클래스에서MeterRegistry가 클래스에 어떻게 삽입되는지 확인하여 미터를 등록하기 전에 적절한 설정을 확인하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow checkIfPrime()메서드 본문을 검사하여 애플리케이션 논리 내에서 등록된 미터를 사용하는 방법을 확인합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 루트 디렉터리로 이동합니다.
구문
cd <path_to_application_root>/<application_root>
$ cd <path_to_application_root>/<application_root>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마이크로미터 빠른 시작에 대한 예를 들면 다음과 같습니다.
cd ~/quickstarts/micrometer
$ cd ~/quickstarts/micrometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 애플리케이션을 컴파일하고 배포합니다.
mvn clean package wildfly:deploy
$ mvn clean package wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이렇게 하면 실행 중인 서버에 micrometer/target/micrometer.war 가 배포됩니다.
검증
웹 브라우저를 사용하여 애플리케이션에 액세스하거나 다음 명령을 실행할 수 있습니다.
curl http://localhost:8080/micrometer/prime/13
$ curl http://localhost:8080/micrometer/prime/13Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 출력:
13 is prime.
13 is prime.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8장. JBoss EAP XP의 OpenShift 이미지에서 마이크로서비스 애플리케이션을 빌드하고 실행합니다. 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP의 OpenShift 이미지에서 마이크로 서비스 애플리케이션을 빌드하고 실행할 수 있습니다.
JBoss EAP XP는 OpenShift 4 이상 버전에서만 지원됩니다.
다음 워크플로를 사용하여 S2I(Source-to-Image) 프로세스를 사용하여 JBoss EAP XP의 OpenShift 이미지에서 마이크로서비스 애플리케이션을 빌드하고 실행합니다.
기본 cloud-default-mp-config 계층은 standalone-microprofile-ha.xml 파일을 기반으로 하는 독립 실행형 구성 파일을 제공합니다. JBoss EAP XP에 포함된 서버 구성 파일에 대한 자세한 내용은 독립 실행형 서버 구성 파일 섹션을 참조하십시오.
이 워크플로는 마이크로profile-config 빠른 시작 예제를 사용합니다. 빠른 시작은 자체 프로젝트에 대한 참조로 사용할 수 있는 작고 구체적인 작업 예제를 제공합니다. 자세한 내용은 JBoss EAP XP 5.0.0과 함께 제공되는 microprofile-config 빠른 시작을 참조하십시오.
추가 리소스
- JBoss EAP XP에 포함된 서버 구성 파일에 대한 자세한 내용은 독립 실행형 서버 구성 파일을 참조하십시오.
8.1. 애플리케이션 배포를 위한 OpenShift 준비 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 배포를 위해 OpenShift를 준비합니다.
사전 요구 사항
운영 중인 OpenShift 인스턴스가 설치되어 있어야 합니다. 자세한 내용은 Red Hat Customer Portal 에서 OpenShift Container Platform 클러스터 설치 및 구성 을 참조하십시오.
프로세스
-
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. OpenShift에서 새 프로젝트를 생성합니다.
프로젝트를 사용하면 사용자 그룹이 다른 그룹과 별도로 콘텐츠를 구성하고 관리할 수 있습니다. 다음 명령을 사용하여 OpenShift에서 프로젝트를 생성할 수 있습니다.
oc new-project PROJECT_NAME
$ oc new-project PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
microprofile-config빠른 시작의 경우 다음 명령을 사용하여 Cryostat-demo라는 새 프로젝트를 생성합니다.oc new-project eap-demo
$ oc new-project eap-demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. S2I를 사용하여 JBoss EAP XP 애플리케이션 이미지 빌드 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
S2I(Source-to-Image) 워크플로우에 따라 JBoss EAP XP 애플리케이션에 대한 재현 가능한 컨테이너 이미지를 빌드합니다. 생성된 컨테이너 이미지에는 애플리케이션 배포 및 즉시 실행 가능한 JBoss EAP XP 서버가 포함됩니다.
S2I 워크플로는 Git 리포지토리에서 소스 코드를 가져와 사용하려는 언어 및 프레임워크를 기반으로 하는 컨테이너에 삽입합니다. S2I 워크플로우가 완료되면 src 코드가 컴파일되고 애플리케이션이 패키지화되고 JBoss EAP XP 서버에 배포됩니다.
사전 요구 사항
- 유효한 Red Hat 고객 계정이 있습니다.
- 레지스트리 서비스 계정이 있어야 합니다. Red Hat 고객 포털의 지침에 따라 레지스트리 서비스 계정을 사용하여 인증 토큰을 생성합니다.
- Red Hat Ecosystem Catalog에서 이미지를 가져오는 데 사용할 수 있는 OpenShift 시크릿 YAML 파일을 다운로드했습니다. 자세한 내용은 OpenShift 시크릿 을 참조하십시오.
-
oc login명령을 사용하여 OpenShift에 로그인했습니다. - Helm이 설치되어 있어야 합니다. 자세한 내용은 Helm 설치를 참조하십시오.
관리 CLI에 이 명령을 입력하여 JBoss EAP Helm 차트 리포지토리를 설치했습니다.
helm repo add jboss-eap https://jbossas.github.io/eap-charts/
$ helm repo add jboss-eap https://jbossas.github.io/eap-charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
프로세스
다음 YAML 콘텐츠를 사용하여
helm.yaml이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 Openshift에 JBoss EAP XP 애플리케이션을 배포합니다.
helm install microprofile-config -f helm.yaml jboss-eap/eap-xp5
$ helm install microprofile-config -f helm.yaml jboss-eap/eap-xp5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 절차는 OpenShift에서 S2I(Source-to-Image)를 사용하여 애플리케이션 이미지 빌드와 매우 유사합니다. 해당 절차에 대한 자세한 내용은 OpenShift Container Platform에서 JBoss EAP 사용을 참조하십시오.
검증
curl을 사용하여 애플리케이션에 액세스합니다.curl https://$(oc get route microprofile-config --template='{{ .spec.host }}')/config/value$ curl https://$(oc get route microprofile-config --template='{{ .spec.host }}')/config/valueCopy to Clipboard Copied! Toggle word wrap Toggle overflow MyPropertyFileConfigValue출력이 표시됩니다. 그러면 애플리케이션이 배포되었는지 확인합니다.
8.3. JBoss EAP XP S2I(Source-to-Image) 애플리케이션에 대한 배포 후 작업 완료 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션에 따라 OpenShift 애플리케이션을 빌드하고 배포한 후 일부 작업을 완료해야 할 수 있습니다.
배포 후 작업의 예는 다음과 같습니다.
- OpenShift 외부에서 애플리케이션을 볼 수 있도록 서비스를 노출합니다.
- 애플리케이션을 특정 개수의 복제본으로 스케일링합니다.
프로세스
다음 명령을 사용하여 애플리케이션의 서비스 이름을 가져옵니다.
oc get service
$ oc get serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 기본 서비스를 경로로 노출하여 OpenShift 외부에서 애플리케이션에 액세스할 수 있습니다. 예를 들어
microprofile-config빠른 시작의 경우 다음 명령을 사용하여 필요한 서비스와 포트를 노출합니다.oc expose service/microprofile-config --port=8080
$ oc expose service/microprofile-config --port=8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow 경로의 URL을 가져옵니다.
oc get route
$ oc get routeCopy to Clipboard Copied! Toggle word wrap Toggle overflow URL을 사용하여 웹 브라우저에서 애플리케이션에 액세스합니다. URL은 이전 명령의 출력의
HOST/PORT필드 값입니다.참고JBoss EAP XP 5.0.0 GA 배포의 경우 Microprofile Config quickstart는 애플리케이션의 루트 컨텍스트에 대한 HTTPS GET 요청에 응답하지 않습니다. 이 향상된 기능은 {JBossXPShortName101} GA 배포에서만 사용할 수 있습니다.
예를 들어 Microprofile Config 애플리케이션과 상호 작용하기 위해 URL은 브라우저에서
http://HOST_PORT_Value/config/value일 수 있습니다.애플리케이션에서 JBoss EAP 루트 컨텍스트를 사용하지 않는 경우 애플리케이션 컨텍스트를 URL에 추가합니다. 예를 들어
microprofile-config빠른 시작의 경우 URL은http://HOST_PORT_VALUE/microprofile-config/일 수 있습니다.선택적으로 다음 명령을 실행하여 애플리케이션 인스턴스를 확장할 수 있습니다. 이 명령은 복제본 수를 3으로 늘립니다.
oc scale deploymentconfig DEPLOYMENTCONFIG_NAME --replicas=3
$ oc scale deploymentconfig DEPLOYMENTCONFIG_NAME --replicas=3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
microprofile-config빠른 시작의 경우 다음 명령을 사용하여 애플리케이션을 확장합니다.oc scale deployment/microprofile-config --replicas=3
$ oc scale deployment/microprofile-config --replicas=3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
JBoss EAP XP 빠른 시작에 대한 자세한 내용은 JBoss EAP에서 MicroProfile 사용의 빠른 시작 섹션 을 참조하십시오.
9장. 기능 트리밍 링크 복사링크가 클립보드에 복사되었습니다!
부팅 가능한 JAR을 빌드할 때 포함할 JBoss EAP 기능 및 하위 시스템을 결정할 수 있습니다.
기능 트리밍은 OpenShift에서만 지원되거나 부팅 가능한 JAR을 빌드할 때 지원됩니다.
추가 리소스
9.1. 사용 가능한 JBoss EAP 계층 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 OpenShift에서 JBoss EAP 서버의 프로비저닝 또는 부팅 가능한 JAR을 사용자 정의하는 여러 계층을 제공합니다.
3개의 계층은 핵심 기능을 제공하는 기본 계층입니다. 다른 계층은 추가 기능으로 기본 계층을 개선하는 데코레이터 계층입니다.
대부분의 데코레이터 계층은 JBoss EAP에서 OpenShift용 S2I 이미지를 빌드하거나 부팅 가능한 JAR을 빌드하는 데 사용할 수 있습니다. 일부 계층은 S2I 이미지를 지원하지 않습니다. 계층에 대한 설명은 이러한 제한 사항을 설명합니다.
나열된 계층만 지원됩니다. 여기에 나열되지 않은 계층은 지원되지 않습니다.
9.1.1. 기본 계층 링크 복사링크가 클립보드에 복사되었습니다!
각 기본 계층에는 일반적인 서버 사용자 사례에 대한 핵심 기능이 포함되어 있습니다.
datasources-web-server
이 계층에는 서블릿 컨테이너와 데이터 소스를 구성하는 기능이 포함됩니다.
이 레이어에는 MicroProfile 기능이 포함되어 있지 않습니다.
다음 Jakarta EE 사양이 이 계층에서 지원됩니다.
- Jakarta JSON Processing 1.1
- Jakarta JSON Binding 1.0
- Jakarta Servlet 4.0
- Jakarta Expression Language 3.0
- Jakarta Server Pages 2.3
- Jakarta 표준 태그 라이브러리 1.2
- Jakarta Concurrency 1.1
- Jakarta Annotations 1.3
- Jakarta XML Binding 2.3
- 기타 언어 1.0에 대한 Jakarta 디버깅 지원
- Jakarta Transactions 1.3
- Jakarta Connectors 1.7
jaxrs-server
이 계층은 다음 JBoss EAP 하위 시스템을 사용하여 datasources-web-server 계층을 향상시킵니다.
-
jaxrs -
weld -
jpa
이 계층은 컨테이너에 로컬로 Infinispan 기반 두 번째 수준 엔터티 캐싱을 추가합니다.
다음 MicroProfile 기능이 이 계층에 포함되어 있습니다.
- MicroProfile REST Client
다음 Jakarta EE 사양은 데이터 소스-web-server 계층에서 지원되는 것 외에도 이 계층에서 지원됩니다.
- 자카르타 컨텍스트 및 종속성 2.0
- Jakarta Bean Validation 2.0
- Jakarta Interceptors 1.2
- Jakarta RESTful Web Services 2.1
- Jakarta Persistence 2.2
cloud-server
이 계층은 다음 JBoss EAP 하위 시스템을 사용하여 jaxrs-server 계층을 향상시킵니다.
-
resource-adapters -
messaging-activemq(원격 브로커 메시징, 임베디드 메시징이 아님)
이 계층은 또한 jaxrs-server 계층에 다음과 같은 관찰 기능도 추가합니다.
- MicroProfile Health
- MicroProfile Config
다음 Jakarta EE 사양은 jaxrs-server 계층에서 지원되는 것 외에도 이 계층에서 지원됩니다.
- Jakarta Security 1.0
cloud-default-mp-config
이 계층은 standalone-microprofile-ha.xml 파일을 기반으로 독립 실행형 구성으로 서버를 프로비저닝합니다. cloud-default-mp-layer 는 org.jboss.eap.xp:eap-xp-cloud-galleon-pack 에서 제공하며 JBoss EAP XP S2I 빌드에서 지원되지만 부팅 가능한 JAR에는 지원되지 않습니다. JBoss EAP XP에 포함된 서버 구성 파일에 대한 자세한 내용은 독립 실행형 서버 구성 파일 섹션을 참조하십시오.
이 워크플로는 마이크로profile-config 빠른 시작 예제를 사용합니다. 빠른 시작은 자체 프로젝트에 대한 참조로 사용할 수 있는 작고 구체적인 작업 예제를 제공합니다. 자세한 내용은 JBoss EAP XP 5.0.0과 함께 제공되는 microprofile-config 빠른 시작을 참조하십시오.
ee-core-profile-server
ee-core-profile-server 계층은 Jakarta EE 10 Core Profile을 사용하여 서버를 프로비저닝합니다. Core Profile은 핵심 JBoss EAP 서버 기능과 자카르타 EE API를 모두 제공하는 사용자에게 경량화된 소규모 프로필을 제공합니다. ee-core-profile-server 계층은 클라우드 네이티브 애플리케이션 및 마이크로 서비스와 같은 소규모 런타임에 가장 적합합니다.
9.1.2. 데코레이터 계층 링크 복사링크가 클립보드에 복사되었습니다!
데코레이터 계층은 단독으로 사용되지 않습니다. 추가 기능을 제공하기 위해 기본 계층으로 하나 이상의 데코레이터 계층을 구성할 수 있습니다.
binaryd-lite
이 데코레이터 계층은 최소 Jakarta Enterprise Cryostat 구현을 프로비저닝된 서버에 추가합니다. 다음 지원은 이 계층에 포함되지 않습니다.
- IIOP 통합
- Cryostat 인스턴스 풀
- 원격 커넥터 리소스
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
Jakarta Enterprise Cryostats
이 데코레이터 계층은 Cryostat -lite 계층을 확장합니다. 이 계층은 Cryostat -lite 계층에 포함된 기본 기능 외에도 프로비저닝된 서버에 다음과 같은 지원을 추가합니다.
- Cryostat 인스턴스 풀
- 원격 커넥터 리소스
message-driven beans (MDB) 또는 Jakarta Enterprise Cryostats remoting 기능을 사용하려면 이 계층을 사용합니다. 이러한 기능이 필요하지 않은 경우 Cryostat -lite 계층 을 사용합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
ejb-local-cache
이 데코레이터 계층은 Jakarta Enterprise Cryostats에 대한 로컬 캐싱 지원을 프로비저닝된 서버에 추가합니다.
종속 항목: Cryostat -lite 계층 또는 Cryostat 계층을 포함하는 경우에만 이 계층을 포함할 수 있습니다.
이 계층은 Cryostat -dist-cache 계층과 호환되지 않습니다. Cryostat -dist-cache 계층을 포함하는 경우 Cryostat -local-cache 계층을 포함할 수 없습니다. 두 계층이 모두 포함된 경우 결과 빌드에 예기치 않은 Jakarta Enterprise Cryostats 구성이 포함될 수 있습니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
ejb-dist-cache
이 데코레이터 계층은 Jakarta Enterprise Cryostats에 대한 분산 캐싱 지원을 프로비저닝된 서버에 추가합니다.
종속 항목: Cryostat -lite 계층 또는 Cryostat 계층을 포함하는 경우에만 이 계층을 포함할 수 있습니다.
이 계층은 Cryostat -local-cache 계층과 호환되지 않습니다. Cryostat -dist-cache 계층을 포함하는 경우 Cryostat -local-cache 계층을 포함할 수 없습니다. 두 계층을 모두 포함하는 경우 결과 빌드로 인해 예기치 않은 구성이 발생할 수 있습니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
jdr
이 데코레이터 계층은 JBoss 진단 보고(jdr) 하위 시스템을 추가하여 Red Hat의 지원을 요청할 때 진단 데이터를 수집합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
자카르타 지속성
이 데코레이터 계층은 단일 노드 서버에 대한 지속성 기능을 추가합니다. 분산 캐싱은 서버가 클러스터를 구성할 수 있는 경우에만 작동합니다.
계층은 다음과 같은 지원을 통해 프로비저닝된 서버에 Hibernate 라이브러리를 추가합니다.
-
jpa하위 시스템의 구성 -
infinispan하위 시스템의 구성 - 로컬 Hibernate 캐시 컨테이너
이 계층은 jpa-distributed 계층과 호환되지 않습니다. jpa 계층을 포함하는 경우 jpa-distributed 계층을 포함할 수 없습니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
JPA-distributed
이 데코레이터 계층은 클러스터에서 작동하는 서버에 대한 지속성 기능을 추가합니다. 계층은 다음과 같은 지원을 통해 프로비저닝된 서버에 Hibernate 라이브러리를 추가합니다.
-
jpa하위 시스템의 구성 -
infinispan하위 시스템의 구성 - 로컬 Hibernate 캐시 컨테이너
- Invalidation 및 replication Hibernate 캐시 컨테이너
-
jgroups하위 시스템 구성
이 계층은 jpa 계층과 호환되지 않습니다. jpa 계층을 포함하는 경우 jpa-distributed 계층을 포함할 수 없습니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
Jakarta Server seems
이 데코레이터 계층은 프로비저닝된 서버에 jsf 하위 시스템을 추가합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
microprofile-platform
이 데코레이터 계층은 프로비저닝된 서버에 다음과 같은 MicroProfile 기능을 추가합니다.
- MicroProfile Config
- MicroProfile Fault Tolerance
- MicroProfile Health
- MicroProfile JWT
- MicroProfile OpenAPI
이 계층에는 관찰 계층에도 포함된 MicroProfile 기능이 포함되어 있습니다. 이 계층을 포함하는 경우 관찰 기능 계층을 포함할 필요가 없습니다.
observability
이 데코레이터 계층은 프로비저닝된 서버에 다음과 같은 관찰 기능을 추가합니다.
- MicroProfile Health
- MicroProfile Config
이 계층은 cloud-server 계층에 빌드됩니다. 이 계층을 cloud-server 계층에 추가할 필요가 없습니다.
remote-activemq
이 데코레이터 계층은 원격 ActiveMQ 브로커와 프로비저닝된 서버에 통신하여 메시징 지원을 통합하는 기능을 추가합니다.
풀링된 연결 팩토리 구성은 guest 를 사용자 및 암호 속성 값으로 지정합니다. CLI 스크립트를 사용하여 런타임 시 이러한 값을 변경할 수 있습니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
sso
이 데코레이터 계층은 Red Hat Single Sign-On 통합을 프로비저닝된 서버에 추가합니다.
이 계층은 S2I를 사용하여 서버를 프로비저닝할 때만 사용해야 합니다.
web-console
이 데코레이터 계층은 프로비저닝된 서버에 관리 콘솔을 추가합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
web-clustering
이 데코레이터 계층은 클러스터링 환경에 적합한 데이터 세션 처리를 위해 로컬이 아닌 Infinispan 컨테이너 웹 캐시를 구성하여 배포 가능한 웹 애플리케이션에 대한 지원을 추가합니다.
웹-비활성화
이 데코레이터 계층은 단일 노드 환경에 적합한 데이터 세션 처리를 위해 로컬 Infinispan 기반 컨테이너 웹 캐시를 구성하여 배포 가능한 웹 애플리케이션에 대한 지원을 추가합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
WebServices
이 계층은 Jakarta 웹 서비스 배포를 지원하는 프로비저닝된 서버에 웹 서비스 기능을 추가합니다.
이 계층은 부팅 가능한 JAR을 빌드할 때만 지원됩니다. 이 계층은 S2I를 사용할 때 지원되지 않습니다.
추가 리소스
10장. JBoss Tools를 사용하여 JBoss EAP에 대한 MicroProfile 애플리케이션 개발 활성화 링크 복사링크가 클립보드에 복사되었습니다!
JBoss Tools를 사용하여 개발한 애플리케이션에 MicroProfile 기능을 통합하려면 JBoss Tools에서 JBoss EAP에 대한 MicroProfile 지원을 활성화해야 합니다.
JBoss EAP 확장 팩은 MicroProfile에 대한 지원을 제공합니다.
JBoss EAP 확장 팩은 JBoss EAP 7.2 및 이전 버전에서 지원되지 않습니다.
JBoss EAP 확장 팩의 각 버전은 특정 JBoss EAP 패치를 지원합니다. 자세한 내용은 JBoss EAP 확장 팩 지원 및 라이프 사이클 정책 페이지를 참조하십시오.
Openshift의 JBoss EAP XP 빠른 시작은 기술 프리뷰로만 제공됩니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원하지 않으며, 기능상 완전하지 않을 수 있어 프로덕션에 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
기술 프리뷰 기능에 대한 지원 범위에 대한 정보는 Red Hat 고객 포털에서 기술 프리뷰 기능 지원 범위를 참조하십시오.
10.1. MicroProfile 기능을 사용하도록 JBoss 툴 구성 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에서 MicroProfile 지원을 활성화하려면 JBoss EAP XP의 새 런타임 서버를 등록한 다음 새 JBoss EAP 8.0 서버를 생성합니다.
서버에 MicroProfile 기능을 지원하는 것을 인식하는 데 도움이 되는 적절한 이름을 지정합니다.
이 서버는 이전에 설치한 런타임을 가리키며 standalone-microprofile.xml 구성 파일을 사용하는 새로 생성된 JBoss EAP XP 런타임을 사용합니다.
대상 런타임 을 8.0 또는 JBoss Tools에서 최신 런타임 버전으로 설정하는 경우 프로젝트는 자카르타 EE 8 사양과 호환됩니다.
프로세스
새 서버 대화 상자에서 새 서버를 설정합니다.
- Select server type 목록에서 Red Hat JBoss Enterprise Application Platform 8.0 을 선택합니다.
- 서버의 호스트 이름 필드에 localhost 를 입력합니다.
- 서버 이름 필드에 JBoss EAP 8.0 XP 를 입력합니다.
- 다음을 클릭합니다.
새 서버를 구성합니다.
- 홈 디렉터리 필드에서 기본 설정을 사용하지 않으려면 새 디렉터리를 지정합니다(예: home/myname/dev/microprofile/runtimes/jboss-eap-7.4 ).
- 실행 환경이 JavaSE-1.8 로 설정되어 있는지 확인합니다.
- 선택 사항: 서버 기본 디렉터리 및 구성 파일 필드의 값을 변경합니다.
- 완료를 클릭합니다.
결과
이제 MicroProfile 기능을 사용하여 애플리케이션 개발을 시작하거나 JBoss EAP에 MicroProfile 빠른 시작 기능을 사용할 수 있습니다.
10.2. JBoss Tools에 MicroProfile 빠른 시작 사용 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile 빠른 시작을 활성화하면 설치된 서버에서 간단한 예제를 실행하고 테스트할 수 있습니다.
이 예제에서는 다음과 같은 MicroProfile 기능을 보여줍니다.
- MicroProfile Config
- MicroProfile Fault Tolerance
- MicroProfile Health
- MicroProfile JWT
- MicroProfile OpenAPI
- MicroProfile REST Client
프로세스
-
빠른 시작 부모 Artifact에서
pom.xml파일을 가져옵니다. 환경 변수가 필요한 퀵 스타트를 사용하는 경우 서버 개요 대화 상자에서 해당 변수를 시작 구성에 구성합니다.
예를 들어
opentelemetry-tracing빠른 시작에서는 다음 환경 변수를 사용합니다.-
OTEL_COLLECTOR_HOST
-
추가 리소스
JBoss Enterprise Application Platform 확장 팩 정보
Red Hat JBoss Enterprise Application Platform 확장 팩 지원 및 라이프 사이클 정책
11장. 부팅 가능한 JAR 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP JAR Maven 플러그인을 사용하여 마이크로서비스 애플리케이션을 부팅 가능한 JAR로 빌드하고 패키징할 수 있습니다. 그런 다음 JBoss EAP 베어 메탈 플랫폼 또는 JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행할 수 있습니다.
11.1. 부팅 가능한 JAR 정보 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP JAR Maven 플러그인을 사용하여 마이크로서비스 애플리케이션을 부팅 가능한 JAR로 빌드하고 패키징할 수 있습니다.
부팅 가능한 JAR에는 서버, 패키지 애플리케이션, 서버를 시작하는 데 필요한 런타임이 포함되어 있습니다.
JBoss EAP JAR Maven 플러그인은 Galleon 트리밍 기능을 사용하여 서버의 크기와 메모리 공간을 줄입니다. 따라서 필요한 기능을 제공하는 Galleon 계층만 포함하여 요구 사항에 따라 서버를 구성할 수 있습니다.
JBoss EAP JAR Maven 플러그인은 JBoss EAP CLI 스크립트 파일의 실행을 지원하여 서버 구성을 사용자 지정할 수 있습니다. CLI 스크립트에는 서버 구성을 위한 CLI 명령 목록이 포함되어 있습니다.
부팅 가능한 JAR은 다음과 같은 방식으로 표준 JBoss EAP 서버와 같습니다.
- JBoss EAP 공통 관리 CLI 명령을 지원합니다.
- JBoss EAP 관리 콘솔을 사용하여 관리할 수 있습니다.
부팅 가능한 JAR에 서버를 패키징할 때 다음과 같은 제한 사항이 있습니다.
- 서버를 다시 시작해야 하는 CLI 관리 작업은 지원되지 않습니다.
- 서버는 서버 관리와 관련된 서비스를 시작하는 모드인 관리자 전용 모드로 다시 시작할 수 없습니다.
- 서버를 종료하면 서버에 적용한 업데이트가 손실됩니다.
또한 빈 부팅 가능한 JAR을 프로비저닝할 수 있습니다. 이 JAR에는 서버만 포함되어 있으므로 서버를 재사용하여 다른 애플리케이션을 실행할 수 있습니다.
11.2. JBoss EAP JAR Maven 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP JAR Maven 플러그인을 사용하여 애플리케이션을 부팅 가능한 JAR로 빌드할 수 있습니다.
9.minor.micro.Final-redhat-XXXXX 와 같은 최신 Maven 플러그인이 있는지 확인합니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예: 9.0.1.Final-redhat-00009.
Maven 프로젝트에서 src 디렉터리에는 애플리케이션을 빌드하는 데 필요한 모든 소스 파일이 포함되어 있습니다. JBoss EAP JAR Maven 플러그인이 부팅 가능한 JAR을 빌드한 후 생성된 JAR은 target/<application>-bootable.jar 에 있습니다.
JBoss EAP JAR Maven 플러그인에서는 다음과 같은 기능도 제공합니다.
- JBoss EAP 채널을 사용하여 JBoss EAP XP 서버를 프로비저닝할 수 있습니다.
- CLI 스크립트 명령을 서버에 적용합니다.
-
org.jboss.eap.xp:wildfly-galleon-packGalleon 기능 팩을 사용하여 서버 구성 파일을 사용자 정의할 수 있습니다. - 키 저장소 파일과 같은 패키지 부팅 가능한 JAR에 추가 파일을 추가할 수 있습니다.
- 애플리케이션에 포함되지 않은 부팅 가능한 JAR, 즉 부팅 가능한 JAR을 생성하는 기능이 포함되어 있습니다.
JBoss EAP JAR Maven 플러그인을 사용하여 부팅 가능한 JAR을 생성한 후 다음 명령을 실행하여 애플리케이션을 시작할 수 있습니다. target/myapp-bootable.jar 를 부팅 가능한 JAR 경로로 교체합니다. 예를 들면 다음과 같습니다.
java -jar target/myapp-bootable.jar
$ java -jar target/myapp-bootable.jar
지원되는 부팅 가능한 JAR 시작 명령 목록을 가져오려면 startup 명령 끝에 --help 를 추가합니다. 예를 들어 java -jar target/myapp-bootable.jar --help.
11.3. 부팅 가능한 JAR 인수 링크 복사링크가 클립보드에 복사되었습니다!
부팅 가능한 JAR과 함께 사용할 수 있도록 지원되는 인수에 대해 알아보려면 다음 표의 인수를 확인합니다.
| 인수 | 설명 |
|---|---|
|
| 지정된 명령에 대한 도움말 메시지를 표시하고 종료합니다. |
|
| 부팅 가능한 JAR을 시작할 때 실행되는 JBoss CLI 스크립트의 경로를 지정합니다. 지정된 경로가 상대적인 경우 부팅 가능한 JAR을 시작하는 데 사용되는 Java VM 인스턴스의 작업 디렉터리에 대해 경로가 확인됩니다. |
|
| hollow 부팅 가능한 JAR과 관련된 인수입니다. 서버에 배포하려는 애플리케이션이 포함된 WAR, JAR, EAR 파일 또는 무관한 디렉터리의 경로를 지정합니다. |
|
| 생성된 Galleon 구성 파일의 내용을 출력합니다. |
|
|
기본적으로 JVM 설정은 부팅 가능한 JAR이 시작된 후 TEMP 디렉터리를 생성하는 데 사용됩니다. |
|
| 보안 관리자가 설치된 서버를 실행합니다. |
|
|
시스템 속성 |
|
|
공용 인터페이스의 바인딩 주소를 구성하는 데 사용되는 시스템 속성 |
|
| 서버 런타임 시 서버에서 설정하는 시스템 속성을 지정합니다. 부팅 가능한 JAR JVM은 이러한 시스템 속성을 설정하지 않습니다. |
|
| 지정된 URL에서 시스템 속성을 로드합니다. |
|
| 보안 속성을 설정합니다. |
|
|
구성 파일의 socket-binding 요소에서 멀티 캐스트 주소를 구성하는 데 사용되는 시스템 속성 |
|
| 애플리케이션 서버 버전을 표시하고 종료합니다. |
11.4. 부팅 가능한 JAR 서버의 Galleon 계층 지정 링크 복사링크가 클립보드에 복사되었습니다!
Galleon 레이어를 지정하여 서버의 사용자 지정 구성을 빌드할 수 있습니다. 또한 서버에서 제외하려는 Galleon 레이어를 지정할 수 있습니다.
JBoss EAP XP 5.0부터 서버 아티팩트를 검색하려면 JBoss EAP 8.0 및 JBoss EAP XP 5.0 채널을 사용하여 JBoss EAP JAR Maven 플러그인을 구성해야 합니다. JBoss EAP 채널에 대한 자세한 내용은 JBoss EAP 설치 채널 관리를 참조하십시오.
최신 JBoss EAP XP 5.0 서버를 프로비저닝하기 위해 JBoss EAP 및 JBoss EAP XP 채널을 지정하려면 다음 예제를 따르십시오.
< ;feature-pack-location> 요소를 사용하여 기능 팩 위치를 지정합니다. Maven 플러그인 구성 파일에서 다음 예제에서는 < feature-pack-location> 요소 내의 을 지정합니다.
org.jboss.eap.xp:wildfly-galleon-pack
둘 이상의 기능 팩을 참조해야 하는 경우 < feature-packs> 요소에 나열합니다. 다음 예제에서는 JBoss EAP 데이터 소스 기능 팩을 < feature-packs> 요소에 추가하는 방법을 보여줍니다.
여러 기능 팩에서 Galleon 레이어를 결합하여 필요한 기능을 제공하는 지원되는 Galleon 계층만 포함하도록 부팅 가능한 JAR 서버를 구성할 수 있습니다.
베어 메탈 플랫폼에서 구성 파일에 Galleon 계층을 지정하지 않으면 프로비저닝된 서버에 기본 standalone-microprofile.xml 구성과 동일한 구성이 포함됩니다.
OpenShift 플랫폼에서 플러그인 구성에 < cloud/ > 구성 요소를 추가하고 구성 파일에서 Galleon 계층을 지정하지 않도록 선택한 후 프로비저닝된 서버에는 클라우드 환경에 맞게 조정되고 기본 standalone-microprofile-ha.xml 과 유사한 구성이 포함되어 있습니다.
사전 요구 사항
- Maven이 설치되어 있어야 합니다.
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009.
절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
프로세스
- 애플리케이션을 실행하는 데 필요한 기능을 제공하는 지원되는 JBoss EAP Galleon 계층을 식별합니다.
Maven 프로젝트
pom.xml파일의 <plugin> 요소에서 JBoss EAP 기능 팩 위치를 참조합니다. 다음 예제에서는jaxrs-server기본 계층과jpa-distributed계층을 포함하는 단일 기능 팩의 포함을 표시합니다.jaxrs-server기본 계층은 서버에 대한 추가 지원을 제공합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 프로젝트에서
jpa계층을 제외하는 방법도 보여줍니다.참고jpa-distributed계층을 프로젝트에 포함하는 경우jpa계층을jaxrs-server계층에서 제외해야 합니다.jpa계층은 로컬 infinispan hibernate 캐시를 구성하고,jpa-distributed계층은 원격 infinispan hibernate 캐시를 구성합니다.
11.5. JBoss EAP 베어 메탈 플랫폼에서 부팅 가능한 JAR 사용 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 베어 메탈 플랫폼에서 애플리케이션을 부팅 가능한 JAR로 패키징할 수 있습니다.
부팅 가능한 JAR에는 서버, 패키지 애플리케이션, 서버를 시작하는 데 필요한 런타임이 포함되어 있습니다.
이 절차에서는 JBoss EAP JAR Maven 플러그인을 사용하여 MicroProfile Config 마이크로 서비스 애플리케이션을 부팅 가능한 JAR로 패키징하는 방법을 보여줍니다. MicroProfile Config 빠른 시작을 참조하십시오.
CLI 스크립트를 사용하여 부팅 가능한 JAR을 패키징하는 동안 서버를 구성할 수 있습니다.
부팅 가능한 JAR 내에 패키징해야 하는 웹 애플리케이션을 빌드하는 경우 pom.xml 파일의 < packaging > 요소에 war 를 지정해야 합니다. 예를 들면 다음과 같습니다.
<packaging>war</packaging>
<packaging>war</packaging>
이 값은 빌드 애플리케이션을 기본 JAR 파일이 아닌 WAR 파일로 패키징하는 데 필요합니다.
빈 부팅 가능한 JAR을 빌드하는 데에만 사용되는 Maven 프로젝트에서는 패키징 값을 pom 로 설정합니다. 예를 들면 다음과 같습니다.
<packaging>pom</packaging>
<packaging>pom</packaging>
Maven 프로젝트에 대해 빈 부팅 가능한 JAR을 빌드할 때 pom 패키지 사용이 제한되지 않습니다. war 와 같은 모든 유형의 패키지에 대해 < hollow-jar > 요소에 true 를 지정하여 생성할 수 있습니다. JBoss EAP 베어 메탈 플랫폼에서 빈 부팅 가능한 JAR 생성 을 참조하십시오.
사전 요구 사항
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009. - Maven 프로젝트를 생성하고 MicroProfile 애플리케이션을 생성하기 위한 종속 항목을 추가했습니다. MicroProfile Config Development 를 참조하십시오.
절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고pom.xml파일에 Galleon 계층을 지정하지 않으면 부팅 가능한 JAR 서버에standalone-microprofile.xml구성과 동일한 구성이 포함됩니다.애플리케이션을 부팅 가능한 JAR로 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 시작합니다.
NAME="foo" java -jar target/microprofile-config-bootable.jar
$ NAME="foo" java -jar target/microprofile-config-bootable.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제에서는
NAME을 환경 변수로 사용하지만 기본값인jim을 사용하도록 선택할 수 있습니다.참고지원되는 부팅 가능한 JAR 인수 목록을 보려면
java -jar target/microprofile-config-bootable.jar명령 끝에--help를 추가합니다.웹 브라우저에서 다음 URL을 지정하여 MicroProfile Config 애플리케이션에 액세스합니다.
http://localhost:8080/config/json
http://localhost:8080/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 확인: 터미널에서 다음 명령을 실행하여 애플리케이션이 제대로 작동하는지 테스트합니다.
curl http://localhost:8080/config/json
curl http://localhost:8080/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 예상되는 출력입니다.
{"result":"Hello foo"}{"result":"Hello foo"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.6. JBoss EAP 베어 메탈 플랫폼에서 빈 부팅 가능한 JAR 생성 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 베어 메탈 플랫폼에서 hollow 부팅 가능한 JAR로 애플리케이션을 패키징할 수 있습니다.
빈 부팅 가능한 JAR에는 JBoss EAP 서버만 포함되어 있습니다. hollow 부팅 가능한 JAR은 JBoss EAP JAR Maven 플러그인에 의해 패키지됩니다. 애플리케이션은 서버 런타임에서 제공됩니다. hollow 부팅 가능한 JAR은 다른 애플리케이션에 대해 서버 구성을 다시 사용해야 하는 경우 유용합니다.
사전 요구 사항
- MicroProfile Config 개발을 위한 Maven 프로젝트를 생성했습니다. 예를 들어 MicroProfile Config 빠른 시작을 참조하십시오.
-
JBoss EAP 베어 메탈 플랫폼에서 부팅 가능한 JAR 사용에 설명된
pom.xml파일 구성 단계를 완료했습니다. -
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009.
프로세스
-
hollow 부팅 가능한 JAR을 빌드하려면
pom.xml파일에서 <hollow-jar> 플러그인 구성 요소를 true로 설정해야 합니다. 예를 들면 다음과 같습니다.
< hollow-jar > 요소에 true 를 지정하면 JBoss EAP JAR Maven 플러그인에 JAR에 애플리케이션이 포함되지 않습니다.
빈 부팅 가능한 JAR을 빌드합니다.
mvn clean package
$ mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow hollow 부팅 가능한 JAR을 실행합니다.
java -jar target/microprofile-config-bootable.jar --deployment=target/microprofile-config.war
$ java -jar target/microprofile-config-bootable.jar --deployment=target/microprofile-config.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요서버에 배포하려는 WAR 파일의 경로를 지정하려면 다음 인수를 사용합니다. 여기서 <
PATH_NAME>은 배포 경로입니다.--deployment=<PATH_NAME>
--deployment=<PATH_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션에 액세스합니다.
curl http://localhost:8080/microprofile-config/config/json
$ curl http://localhost:8080/microprofile-config/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고루트 디렉터리에 웹 애플리케이션을 등록하려면 애플리케이션 이름을
ROOT.war로 지정합니다.
11.7. 빌드 시 실행되는 CLI 스크립트 링크 복사링크가 클립보드에 복사되었습니다!
CLI 스크립트를 생성하여 부팅 가능한 JAR을 패키징하는 동안 서버를 구성할 수 있습니다.
CLI 스크립트는 추가 서버 구성을 적용하는 데 사용할 수 있는 일련의 CLI 명령이 포함된 텍스트 파일입니다. 예를 들어 스크립트를 생성하여 로깅 하위 시스템에 새 로거를 추가할 수 있습니다.
CLI 스크립트에서 더 복잡한 작업을 지정할 수도 있습니다. 예를 들어 보안 관리 작업을 단일 명령으로 그룹화하여 관리 HTTP 끝점에 대한 HTTP 인증을 활성화할 수 있습니다.
애플리케이션을 부팅 가능한 JAR로 패키징하기 전에 플러그인 구성의 < cli-session > 요소에 CLI 스크립트를 정의해야 합니다. 이렇게 하면 부팅 가능한 JAR 패키징 후 서버 구성 설정이 유지됩니다.
사전 정의된 Galleon 계층을 결합하여 애플리케이션을 배포하는 서버를 구성할 수 있지만 제한 사항이 있습니다. 예를 들어 부팅 가능한 JAR을 패키징할 때 Galleon 계층을 사용하여 HTTPS undertow 리스너를 활성화할 수 없습니다. 대신 CLI 스크립트를 사용해야 합니다.
pom.xml 파일의 < cli-session> 요소에 CLI 스크립트를 정의해야 합니다. 다음 표에서는 CLI 세션 속성 유형을 보여줍니다.
| 인수 | 설명 |
|---|---|
|
| 스크립트 파일의 경로 목록입니다. |
|
|
속성 파일의 경로를 지정하는 선택적 속성입니다. 이 파일에는 |
|
|
부울 값이 포함된 선택적 속성입니다. 작업 요청을 서버로 보내기 전에 시스템 속성 또는 표현식이 해결되는지 여부를 나타냅니다. 기본값은 |
-
CLI 스크립트는
pom.xml파일의 <cli-session> 요소에 정의된 순서대로 시작됩니다. - JBoss EAP JAR Maven 플러그인은 각 CLI 세션에 포함된 서버를 시작합니다. 따라서 CLI 스크립트는 포함된 서버를 시작하거나 중지할 필요가 없습니다.
11.8. 런타임에 CLI 스크립트 실행 링크 복사링크가 클립보드에 복사되었습니다!
런타임 중에 서버 구성에 변경 사항을 적용할 수 있습니다. 그러면 실행 컨텍스트와 관련하여 서버를 조정할 수 있는 유연성을 제공합니다. 그러나 서버에 변경 사항을 적용하는 데 선호되는 방법은 빌드 시간 동안입니다.
프로세스
부팅 가능한 JAR 및
--cli-script인수를 시작합니다.예를 들면 다음과 같습니다.
java -jar myapp-bootable.jar --cli-scipt=my-scli-scipt.cli
java -jar myapp-bootable.jar --cli-scipt=my-scli-scipt.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
CLI 스크립트는 텍스트 파일(UTF-8)이어야 하며,
.cli확장자가 권장되지 않는 경우 파일 확장자가 의미가 없습니다. - 서버를 다시 시작해야 하는 작업은 부팅 가능한 JAR 인스턴스가 종료됩니다.
-
연결,다시 로드,종료와 포함된 서버와 관련된 모든 명령 등의 CLI 명령이 작동하지 않습니다. -
관리 모드에서 실행할 수 없는
jdbc-driver-info와 같은 CLI 명령은 지원되지 않습니다.
CLI 스크립트를 실행하지 않고 서버를 다시 시작하면 새 서버 인스턴스에 이전 서버 인스턴스의 변경 사항이 포함되지 않습니다.
11.9. JBoss EAP OpenShift 플랫폼에서 부팅 가능한 JAR 사용 링크 복사링크가 클립보드에 복사되었습니다!
11.9.1. oc 명령을 사용하여 바이너리 빌드 수행 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 부팅 가능한 JAR로 패키지한 후 JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행할 수 있습니다.
OpenShift에서는 부팅 가능한 JAR과 함께 EAP Operator 자동 트랜잭션 복구 기능을 사용할 수 없습니다.
사전 요구 사항
- MicroProfile Config 개발을 위한 Maven 프로젝트를 생성했습니다. 예를 들어 MicroProfile Config 빠른 시작을 참조하십시오.
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009.
절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고JBoss EAP Maven JAR 플러그인에서 OpenShift 플랫폼을 선택하는지 확인할 수 있도록 플러그인
구성의 <configuration> 요소에 <cloud/> 요소를 포함해야 합니다.애플리케이션을 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. OpenShift에서 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.
oc new-project bootable-jar-project
$ oc new-project bootable-jar-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
oc명령을 입력하여 애플리케이션 이미지를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OpenShift는 부팅 가능한 JAR 구성 파일에 CLI 스크립트 명령 세트를 적용하여 클라우드 환경에 조정합니다. Maven 프로젝트 /
target 디렉터리에서bootable-jar-build-artifacts/generated-cli-script.txt파일을 열어 이 스크립트에 액세스할 수 있습니다.확인:
사용 가능한 OpenShift 포드 목록을 보고 다음 명령을 실행하여 포드 빌드 상태를 확인합니다.
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빌드된 애플리케이션 이미지를 확인합니다.
oc get is microprofile-config-app
$ oc get is microprofile-config-appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에는 이름 및 이미지 리포지토리, 태그 등과 같은 빌드된 애플리케이션 이미지 세부 정보가 표시됩니다. 이 절차의 예에서는 이미지 스트림 이름과 태그 출력에
microprofile-config-app:latest가 표시됩니다.애플리케이션을 배포합니다.
oc new-app microprofile-config-app oc expose svc/microprofile-config-app
$ oc new-app microprofile-config-app $ oc expose svc/microprofile-config-appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요부팅 가능한 JAR에 시스템 속성을 제공하려면
JAVA_OPTS_APPEND환경 변수를 사용해야 합니다. 다음 예제에서는JAVA_OPTS_APPEND환경 변수를 사용하는 방법을 보여줍니다.oc new-app <_IMAGESTREAM_> -e JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"
$ oc new-app <_IMAGESTREAM_> -e JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 애플리케이션이 생성되고 시작됩니다. 애플리케이션 구성이 새 서비스로 노출됩니다.
verification: 터미널에서 다음 명령을 실행하여 애플리케이션이 제대로 작동하는지 테스트합니다.
curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json$ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 출력:
{"result":"Hello jim"}{"result":"Hello jim"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10. OpenShift의 부팅 가능한 JAR 구성 링크 복사링크가 클립보드에 복사되었습니다!
부팅 가능한 JAR을 사용하기 전에 독립 실행형 서버가 OpenShift용 JBoss EAP에서 올바르게 작동하는지 확인하기 위해 JVM 설정을 구성할 수 있습니다.
JAVA_OPTS_APPEND 환경 변수를 사용하여 JVM 설정을 구성합니다. JAVA_ARGS 명령을 사용하여 부팅 가능한 JAR에 인수를 제공합니다.
환경 변수를 사용하여 속성 값을 설정할 수 있습니다. 예를 들어 JAVA_OPTS_APPEND 환경 변수를 사용하여 -Dwildfly.statistics-enabled 속성을 true 로 설정할 수 있습니다.
JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"
JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time -Dwildfly.statistics-enabled=true"
이제 서버에 대한 통계가 활성화되어 있습니다.
부팅 가능한 JAR에 인수를 제공해야 하는 경우 JAVA_ARGS 환경 변수를 사용합니다.
OpenShift용 JBoss EAP는 JDK 17 이미지를 제공합니다. 부팅 가능한 JAR과 관련된 애플리케이션을 실행하려면 먼저 최신 OpenJDK 17 이미지 스트림 태그 및 이미지 정보를 OpenShift 프로젝트로 가져와야 합니다. 그런 다음 환경 변수를 사용하여 가져온 이미지에서 JVM을 구성할 수 있습니다.
OpenShift S2I 이미지에 사용된 JVM을 구성하는 데 동일한 구성 옵션을 적용할 수 있지만 다음과 같은 차이점이 있습니다.
-
선택 사항:
-Xlog기능을 사용할 수 없지만-Xlog:gc를 활성화하여 가비지 컬렉션 로깅을 설정할 수 있습니다. 예:JAVA_OPTS_APPEND="-Xlog:gc*:file=/tmp/gc.log:time". -
초기 메타 공간 크기를 늘리려면
GC_MET CryostatACE_SIZE환경 변수를 설정할 수 있습니다. 최상의 메타데이터 용량 성능을 위해서는 값을96으로 설정합니다. -
임의의 파일 생성을 개선하기 위해
JAVA_OPTS_APPEND환경 변수를 사용하여java.security.egd속성을-Djava.security.egd=file:/dev/urandom로 설정합니다.
이러한 구성은 가져온 OpenJDK 17 이미지에서 실행할 때 JVM의 메모리 설정 및 가비지 수집 기능을 향상시킵니다.
11.11. OpenShift의 애플리케이션에서 ConfigMap 사용 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift의 경우 배포 컨트롤러(dc)를 사용하여 애플리케이션을 실행하는 데 사용되는 포드에 configmap을 마운트할 수 있습니다.
ConfigMap 은 기밀이 아닌 데이터를 키-값 쌍으로 저장하는 데 사용되는 OpenShift 리소스입니다.
microprofile-platform Galleon 계층을 지정하여 microprofile-config-windowsrye 하위 시스템 및 서버 구성 파일에 확장을 추가한 후 CLI 스크립트를 사용하여 서버 구성에 새 ConfigSource 를 추가할 수 있습니다. CLI 스크립트를 Maven 프로젝트의 루트 디렉터리에 /scripts 디렉터리와 같은 액세스 가능한 디렉터리에 저장할 수 있습니다.
MicroProfile Config 기능은 SmallRye Config 구성 요소를 사용하여 JBoss EAP에서 구현되며 microprofile-config-undercloudrye 하위 시스템에서 제공합니다. 이 하위 시스템은 microprofile-platform Galleon 계층에 포함되어 있습니다.
사전 요구 사항
- Maven이 설치되어 있어야 합니다.
- JBoss EAP Maven 리포지토리를 구성했습니다.
- 애플리케이션을 부팅 가능한 JAR로 패키징했으며 JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행할 수 있습니다. OpenShift 플랫폼에서 부팅 가능한 JAR로 애플리케이션을 빌드하는 방법에 대한 자세한 내용은 JBoss EAP OpenShift 플랫폼에서 부팅 가능한 JAR 사용을 참조하십시오.
프로세스
프로젝트의 루트 디렉터리에
scripts라는 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.mkdir scripts
$ mkdir scriptsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cli.properties파일을 생성하고 파일을/scripts디렉터리에 저장합니다. 이 파일에서config.path및config.ordinal시스템 속성을 정의합니다. 예를 들면 다음과 같습니다.config.path=/etc/config config.ordinal=200
config.path=/etc/config config.ordinal=200Copy to Clipboard Copied! Toggle word wrap Toggle overflow mp-config.cli와 같은 CLI 스크립트를 생성하고/scripts디렉터리와 같은 부팅 가능한 JAR의 액세스 가능한 디렉터리에 저장합니다. 다음 예제에서는mp-config.cli스크립트의 내용을 보여줍니다.config map /subsystem=microprofile-config-smallrye/config-source=os-map:add(dir={path=${config.path}}, ordinal=${config.ordinal})# config map /subsystem=microprofile-config-smallrye/config-source=os-map:add(dir={path=${config.path}}, ordinal=${config.ordinal})Copy to Clipboard Copied! Toggle word wrap Toggle overflow mp-config.cliCLI 스크립트는 속성 파일에서 ordinal 및 path 값이 검색되는 새ConfigSource를 생성합니다.-
스크립트를 프로젝트의 루트 디렉터리에 있는
/scripts디렉터리에 저장합니다. 기존 플러그인 <configuration> 요소에 다음
구성 추출을추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. 선택 사항: 이전에
target/openshift하위 디렉터리를 생성하지 않은 경우 다음 명령을 실행하여 suddirectory를 생성해야 합니다.mkdir target/openshift
$ mkdir target/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 패키지 애플리케이션을 생성된 하위 디렉터리에 복사합니다.
cp target/microprofile-config-bootable.jar target/openshift
$ cp target/microprofile-config-bootable.jar target/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow target/openshift하위 디렉터리를 바이너리 입력으로 사용하여 애플리케이션을 빌드합니다.oc start-build microprofile-config-app --from-dir target/openshift
$ oc start-build microprofile-config-app --from-dir target/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OpenShift는 부팅 가능한 JAR 구성 파일에 CLI 스크립트 명령 세트를 적용하여 클라우드 환경에서 활성화합니다. Maven 프로젝트
/target디렉터리에서bootable-jar-build-artifacts/generated-cli-script.txt파일을 열어 이 스크립트에 액세스할 수 있습니다.ConfigMap을 생성합니다. 예를 들면 다음과 같습니다.oc create configmap microprofile-config-map --from-literal=name="Name comes from Openshift ConfigMap"
$ oc create configmap microprofile-config-map --from-literal=name="Name comes from Openshift ConfigMap"Copy to Clipboard Copied! Toggle word wrap Toggle overflow dc를 사용하여
ConfigMap을 애플리케이션에 마운트합니다. 예를 들면 다음과 같습니다.oc set volume deployments/microprofile-config-app --add --name=config-volume \ --mount-path=/etc/config \ --type=configmap \ --configmap-name=microprofile-config-map
$ oc set volume deployments/microprofile-config-app --add --name=config-volume \ --mount-path=/etc/config \ --type=configmap \ --configmap-name=microprofile-config-mapCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc set volume명령을 실행한 후 애플리케이션이 새 구성 설정으로 다시 배포됩니다.출력을 테스트합니다.
curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json$ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 예상되는 출력입니다.
{"result":"Hello Name comes from Openshift ConfigMap"}{"result":"Hello Name comes from Openshift ConfigMap"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.12. 부팅 가능한 JAR Maven 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
절차의 단계에 따라 예제 Maven 프로젝트를 생성합니다. 다음 절차를 수행하려면 Maven 프로젝트를 생성해야 합니다.
- 부팅 가능한 JAR에 대한 JSON 로깅 활성화
- 여러 부팅 가능한 JAR 인스턴스에 대한 웹 세션 데이터 스토리지 활성화
- CLI 스크립트를 사용하여 부팅 가능한 JAR에 대한 HTTP 인증 활성화
- Red Hat build of Keycloak을 사용하여 JBoss EAP 부팅 가능한 JAR 애플리케이션 보안
프로젝트 pom.xml 파일에서 부팅 가능한 JAR을 빌드하는 데 필요한 프로젝트 아티팩트를 검색하도록 Maven을 구성할 수 있습니다.
프로세스
Maven 프로젝트를 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 GROUP_ID 는 프로젝트의
groupId이고 ARTIFACT_ID 는 프로젝트의artifactId입니다.pom.xml파일에서 원격 리포지토리에서 JBoss EAP BOM 파일을 검색하도록 Maven을 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss-eap-eeBOM에서 Jakarta EE 아티팩트의 버전을 자동으로 관리하도록 Maven을 구성하려면pom.xml파일의 <dependencyManagement> 섹션에 BOM을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같이 BOM에서 관리하는 서블릿 API 아티팩트를 프로젝트
pom.xml파일의 <dependency> 섹션에 추가합니다.<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> </dependency><dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.13. 부팅 가능한 JAR에 대한 JSON 로깅 활성화 링크 복사링크가 클립보드에 복사되었습니다!
CLI 스크립트로 서버 로깅 구성을 구성하여 부팅 가능한 JAR에 대한 JSON 로깅을 활성화할 수 있습니다. JSON 로깅을 활성화하면 JSON 포맷터를 사용하여 JSON 형식의 로그 메시지를 볼 수 있습니다.
이 절차의 예제에서는 베어 메탈 플랫폼과 OpenShift 플랫폼에서 부팅 가능한 JAR에 대한 JSON 로깅을 활성화하는 방법을 보여줍니다.
사전 요구 사항
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009. Maven 프로젝트를 생성하고 애플리케이션을 생성하기 위한 종속 항목을 추가했습니다. 부팅 가능한 JAR Maven 프로젝트 생성 을 참조하십시오.
중요Maven 프로젝트의 Maven archetype에서는 프로젝트와 관련된 groupID 및 artifactID를 지정해야 합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties><properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
프로세스
BOM에서 관리하는 JBoss Logging 및 Jakarta RESTful Web Services 종속성을 프로젝트
pom.xml파일의 <dependencies> 섹션에 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java 파일을 저장할 디렉터리를 만듭니다.
mkdir -p APPLICATION_ROOT/src/main/java/com/example/logging/
$ mkdir -p APPLICATION_ROOT/src/main/java/com/example/logging/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
APPLICATION_ROOT는 애플리케이션의pom.xml구성 파일이 포함된 디렉터리입니다.다음 내용으로 Java 파일
RestApplication.java를 생성하고APPLICATION_ROOT/src/main/java/com/example/logging/디렉터리에 파일을 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용으로 Java 파일
HelloWorldEndpoint.java를 생성하고 파일을APPLICATION_ROOT/src/main/java/com/example/logging/디렉터리에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow logging.cli와 같은 CLI 스크립트를 생성하고APPLICATION_ROOT/scripts디렉터리와 같은 부팅 가능한 JAR의 액세스 가능한 디렉터리에 저장합니다. 여기서APPLICATION_ROOT는 Maven 프로젝트의 루트 디렉터리입니다. 이 스크립트는 다음 명령을 포함해야 합니다./subsystem=logging/logger=com.example.logging:add(level=ALL) /subsystem=logging/json-formatter=json-formatter:add(exception-output-type=formatted, pretty-print=false, meta-data={version="1"}, key-overrides={timestamp="@timestamp"}) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=ALL) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=json-formatter)/subsystem=logging/logger=com.example.logging:add(level=ALL) /subsystem=logging/json-formatter=json-formatter:add(exception-output-type=formatted, pretty-print=false, meta-data={version="1"}, key-overrides={timestamp="@timestamp"}) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=ALL) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=json-formatter)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인 <configuration> 요소에 다음
구성 추출을추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 서버 로깅 구성 파일을 수정하여 애플리케이션에 대한 JSON 로깅을 활성화하는
logging.cliCLI 스크립트를 보여줍니다.애플리케이션을 부팅 가능한 JAR로 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: JBoss EAP 베어 메탈 플랫폼에서 애플리케이션을 실행하려면 JBoss EAP 베어 메탈 플랫폼에서 부팅 가능한 JAR 사용에 설명된 단계를 따르십시오. 그러나 다음과 같은 차이점이 있습니다.
애플리케이션을 시작합니다.
mvn wildfly-jar:run
mvn wildfly-jar:runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 확인: 브라우저에 다음 URL을 지정하여 애플리케이션에 액세스할 수 있습니다. http://127.0.0.1:8080/hello.
예상 출력: 애플리케이션 콘솔에서
com.example.logging.HelloWorldEndpoint디버그 추적을 포함한 JSON 형식의 로그를 볼 수 있습니다.
선택 사항: JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행하려면 다음 단계를 완료합니다.
<
;cloud/> 요소를 플러그인 구성에 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 다시 빌드합니다.
mvn clean package
$ mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. OpenShift에서 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.
oc new-project bootable-jar-project
$ oc new-project bootable-jar-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
oc명령을 입력하여 애플리케이션 이미지를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 배포합니다.
oc new-app logging oc expose svc/logging
$ oc new-app logging $ oc expose svc/loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 경로의 URL을 가져옵니다.
oc get route logging --template='{{ .spec.host }}'$ oc get route logging --template='{{ .spec.host }}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령에서 반환된 URL을 사용하여 웹 브라우저의 애플리케이션에 액세스합니다. 예를 들면 다음과 같습니다.
http://ROUTE_NAME/hello
http://ROUTE_NAME/helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 확인: 사용 가능한 OpenShift Pod 목록을 보고 Pod 빌드 상태를 확인하려면 다음 명령을 실행합니다.
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션의 실행 중인 Pod 로그에 액세스합니다. 여기서
APP_POD_NAME은 실행 중인 포드 로깅 애플리케이션의 이름입니다.oc logs APP_POD_NAME
$ oc logs APP_POD_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 결과: Pod 로그는 JSON 형식이며
com.example.logging.HelloWorldEndpoint디버그 추적을 포함합니다.
11.14. 여러 부팅 가능한 JAR 인스턴스에 대한 웹 세션 데이터 스토리지 활성화 링크 복사링크가 클립보드에 복사되었습니다!
웹 클러스터 애플리케이션을 부팅 가능한 JAR로 빌드하고 패키징할 수 있습니다.
사전 요구 사항
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009. Maven 프로젝트를 생성하고 웹 클러스터 애플리케이션을 생성하기 위한 종속 항목을 추가했습니다. 부팅 가능한 JAR Maven 프로젝트 생성 을 참조하십시오.
중요Maven 프로젝트를 설정할 때 Maven archetype 구성에 값을 지정해야 합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties><properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제에서는
웹 클러스터링 Galleon 계층을사용하여 웹 세션 공유를 활성화합니다.src/main/webapp/WEB-INF디렉토리에서 다음 구성을 사용하여web.xml파일을 업데이트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;distributable/> 태그는 이 서블릿이 여러 서버에 분산될 수 있음을 나타냅니다.Java 파일을 저장할 디렉터리를 만듭니다.
mkdir -p APPLICATION_ROOT /src/main/java/com/example/webclustering/
$ mkdir -p APPLICATION_ROOT /src/main/java/com/example/webclustering/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
APPLICATION_ROOT는 애플리케이션의pom.xml구성 파일이 포함된 디렉터리입니다.다음 내용으로 Java 파일
MyServlet.java를 만들고 파일을APPLICATION_ROOT/src/main/java/com/example/webclustering/디렉터리에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow MyServlet.java의 콘텐츠는 클라이언트가 HTTP 요청을 보내는 끝점을 정의합니다.다음 콘텐츠를 사용하여 Java 파일
User.java를 생성하고 파일을APPLICATION_ROOT/src/main/java/com/example/webclustering/디렉터리에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: JBoss EAP 베어 메탈 플랫폼에서 애플리케이션을 실행하려면 JBoss EAP 베어 메탈 플랫폼에서 부팅 가능한 JAR 사용에 설명된 단계를 따르십시오. 그러나 다음과 같은 차이점이 있습니다.
JBoss EAP 베어 메탈 플랫폼에서는 다음 예와 같이
java -jar명령을 사용하여 여러 부팅 가능한 JAR 인스턴스를 실행할 수 있습니다.java -jar target/web-clustering-bootable.jar -Djboss.node.name=node1 java -jar target/web-clustering-bootable.jar -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=10
$ java -jar target/web-clustering-bootable.jar -Djboss.node.name=node1 $ java -jar target/web-clustering-bootable.jar -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 확인: 노드 1 인스턴스에서 애플리케이션에 액세스할 수 있습니다. http://127.0.0.1:8080/clustering. 사용자 세션 ID와 사용자 생성 시간을 확인합니다.
이 인스턴스를 종료한 후 노드 2 인스턴스에 액세스할 수 있습니다. http://127.0.0.1:8090/clustering. 사용자는 노드 1 인스턴스의 세션 ID 및 사용자 생성 시간과 일치해야 합니다.
선택 사항: JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행하려면 JBoss EAP OpenShift 플랫폼에서 부팅 가능한 JAR 사용에 설명된 단계를 수행하되 다음 단계를 완료합니다.
<
;cloud/> 요소를 플러그인 구성에 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 다시 빌드합니다.
mvn clean package
$ mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc login명령을 사용하여 OpenShift 인스턴스에 로그인합니다. OpenShift에서 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.
oc new-project bootable-jar-project
$ oc new-project bootable-jar-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP OpenShift 플랫폼에서 웹 클러스터 애플리케이션을 실행하려면 포드가 실행 중인 서비스 계정에 대한 권한 부여 액세스 권한을 부여해야 합니다. 그러면 서비스 계정이 Kubernetes REST API에 액세스할 수 있습니다. 다음 예제에서는 서비스 계정에 권한 부여 권한을 보여줍니다.
oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
$ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
oc명령을 입력하여 애플리케이션 이미지를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 배포합니다.
oc new-app web-clustering -e KUBERNETES_NAMESPACE=$(oc project -q) oc expose svc/web-clustering
$ oc new-app web-clustering -e KUBERNETES_NAMESPACE=$(oc project -q) $ oc expose svc/web-clusteringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요KUBERNETES_NAMESPACE환경 변수를 사용하여 현재 OpenShift 네임 스페이스의 다른 pod를 확인해야 합니다. 그러지 않으면 서버가default네임스페이스에서 포드를 검색하려고 합니다.경로의 URL을 가져옵니다.
oc get route web-clustering --template='{{ .spec.host }}'$ oc get route web-clustering --template='{{ .spec.host }}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령에서 반환된 URL을 사용하여 웹 브라우저의 애플리케이션에 액세스합니다. 예를 들면 다음과 같습니다.
http://ROUTE_NAME/clustering
http://ROUTE_NAME/clusteringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 세션 ID 및 사용자 생성 시간을 확인합니다.
애플리케이션을 두 개의 Pod로 확장합니다.
oc scale --replicas=2 deployments web-clustering
$ oc scale --replicas=2 deployments web-clusteringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 사용 가능한 OpenShift Pod 목록을 보고 포드 빌드 상태를 확인합니다.
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
oc delete pod web-clustering-POD_NAME명령을 사용하여 가장 오래된 Pod를 종료합니다. 여기서 POD_NAME 은 가장 오래된 Pod의 이름입니다. 애플리케이션에 다시 액세스합니다.
http://ROUTE_NAME/clustering
http://ROUTE_NAME/clusteringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 결과: 새 Pod에서 생성한 세션 ID와 종료된 Pod의 생성 시간과 일치합니다. 이는 웹 세션 데이터 스토리지가 활성화되었음을 나타냅니다.
11.15. CLI 스크립트를 사용하여 부팅 가능한 JAR에 대한 HTTP 인증 활성화 링크 복사링크가 클립보드에 복사되었습니다!
CLI 스크립트를 사용하여 부팅 가능한 JAR에 대한 HTTP 인증을 활성화할 수 있습니다. 이 스크립트는 서버에 보안 영역과 보안 도메인을 추가합니다.
사전 요구 사항
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009. Maven 프로젝트를 생성하고 HTTP 인증이 필요한 애플리케이션을 생성하기 위한 종속 항목을 추가했습니다. 부팅 가능한 JAR Maven 프로젝트 생성 을 참조하십시오.
중요Maven 프로젝트를 설정할 때 Maven archetype 구성에 HTTP 인증 값을 지정해야 합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties><properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
elytron하위 시스템을 포함하는datasources-web-serverGalleon 계층을 포함하는 방법을 보여줍니다.src/main/webapp/WEB-INF디렉터리에서web.xml파일을 업데이트합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java 파일을 저장할 디렉터리를 만듭니다.
mkdir -p APPLICATION_ROOT/src/main/java/com/example/authentication/
$ mkdir -p APPLICATION_ROOT/src/main/java/com/example/authentication/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
APPLICATION_ROOT는 Maven 프로젝트의 루트 디렉터리입니다.다음 내용으로 Java 파일
TestServlet.java를 만들고 파일을APPLICATION_ROOT/src/main/java/com/example/authentication/디렉터리에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow authentication.cli와 같은 CLI 스크립트를 생성하고APPLICATION_ROOT/scripts디렉터리와 같은 부팅 가능한 JAR의 액세스 가능한 디렉터리에 저장합니다. 이 스크립트는 다음 명령을 포함해야 합니다./subsystem=elytron/properties-realm=bootable-realm:add(users-properties={relative-to=jboss.server.config.dir, path=bootable-users.properties, plain-text=true}, groups-properties={relative-to=jboss.server.config.dir, path=bootable-groups.properties}) /subsystem=elytron/security-domain=BootableDomain:add(default-realm=bootable-realm, permission-mapper=default-permission-mapper, realms=[{realm=bootable-realm, role-decoder=groups-to-roles}]) /subsystem=undertow/application-security-domain=other:write-attribute(name=security-domain, value=BootableDomain)/subsystem=elytron/properties-realm=bootable-realm:add(users-properties={relative-to=jboss.server.config.dir, path=bootable-users.properties, plain-text=true}, groups-properties={relative-to=jboss.server.config.dir, path=bootable-groups.properties}) /subsystem=elytron/security-domain=BootableDomain:add(default-realm=bootable-realm, permission-mapper=default-permission-mapper, realms=[{realm=bootable-realm, role-decoder=groups-to-roles}]) /subsystem=undertow/application-security-domain=other:write-attribute(name=security-domain, value=BootableDomain)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인 <configuration> 요소에 다음
구성 추출을추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 기본
undertow보안 도메인을 서버에 정의된 보안 도메인으로 구성하는authentication.cliCLI 스크립트를 보여줍니다.참고패키징 시간 대신 런타임 시 CLI 스크립트를 실행하는 옵션이 있습니다. 이렇게 하려면 이 단계를 건너뛰고 10 단계로 진행합니다.
Maven 프로젝트의 루트 디렉터리에는 JBoss EAP JAR Maven 플러그인이 부팅 가능한 JAR에 추가하는 속성 파일을 저장할 디렉터리를 생성합니다.
mkdir -p APPLICATION_ROOT/extra-content/standalone/configuration/
$ mkdir -p APPLICATION_ROOT/extra-content/standalone/configuration/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
APPLICATION_ROOT는 애플리케이션의pom.xml구성 파일이 포함된 디렉터리입니다.이 디렉터리는
bootable-users.properties및bootable-groups.properties파일과 같은 파일을 저장합니다.bootable-users.properties파일에는 다음 내용이 포함되어 있습니다.testuser=bootable_password
testuser=bootable_passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow bootable-groups.properties파일에는 다음 내용이 포함되어 있습니다.testuser=Users
testuser=UsersCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 <
configuration> 요소에 다음추가합니다.extra-content-content-dirs요소를<extra-server-content-dirs> <extra-content>extra-content</extra-content> </extra-server-content-dirs><extra-server-content-dirs> <extra-content>extra-content</extra-content> </extra-server-content-dirs>Copy to Clipboard Copied! Toggle word wrap Toggle overflow extra-content디렉터리에는 속성 파일이 포함되어 있습니다.애플리케이션을 부팅 가능한 JAR로 패키징합니다.
mvn package
$ mvn packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 시작합니다.
mvn wildfly-jar:run
mvn wildfly-jar:runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 6단계를 건너뛰고 빌드 중에 CLI 스크립트를 실행하지 않도록 선택한 경우 다음 명령을 사용하여 애플리케이션을 시작합니다.
mvn wildfly-jar:run -Dwildfly.bootable.arguments=--cli-script=scripts/authentication.cli
mvn wildfly-jar:run -Dwildfly.bootable.arguments=--cli-script=scripts/authentication.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서블릿을 호출하지만 인증 정보를 지정하지 마십시오.
curl -v http://localhost:8080/hello
curl -v http://localhost:8080/helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예상 출력:
HTTP/1.1 401 Unauthorized ... WWW-Authenticate: Basic realm="Example Realm"
HTTP/1.1 401 Unauthorized ... WWW-Authenticate: Basic realm="Example Realm"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버를 호출하고 인증 정보를 지정합니다. 예를 들면 다음과 같습니다.
curl -v -u testuser:bootable_password http://localhost:8080/hello
$ curl -v -u testuser:bootable_password http://localhost:8080/helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 가능한 JAR에 HTTP 인증이 활성화되었음을 나타내는 HTTP 200 상태가 반환됩니다. 예를 들면 다음과 같습니다.
HTTP/1.1 200 OK .... Hello testuser
HTTP/1.1 200 OK .... Hello testuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12장. Helm 차트 사용 사례 링크 복사링크가 클립보드에 복사되었습니다!
Helm은 OpenShift에서 JBoss EAP XP 5.0 애플리케이션을 빌드, 배포 및 유지 관리할 수 있는 오픈 소스 패키지 관리자입니다.
JBoss EAP XP 5.0과 함께 Helm 차트를 사용하여 다음을 수행할 수 있습니다.
- OpenShift S2I(Source-to-Image)를 사용하여 Git 리포지토리에서 호스팅되는 Maven 프로젝트에서 애플리케이션을 빌드합니다.
- OpenShift 클러스터(TLS 구성, 공용 경로)를 사용하여 OpenShift에 애플리케이션 이미지를 배포하여 애플리케이션을 노출합니다.
- Helm 차트로 애플리케이션 이미지를 빌드하고 JBoss EAP XP Operator를 사용하여 이미지를 배포합니다.
- 다른 방법을 사용하여 JBoss EAP XP의 애플리케이션 이미지를 빌드하고 Helm 차트를 사용합니다.
- JBoss EAP XP 5.0으로 Java 애플리케이션을 빌드하여 부팅 가능 Jar 또는 Jakarta 배포(JBoss EAP 8.0와 유사)를 생성할 수 있습니다.
-
Java 애플리케이션이 부팅 가능 Jar인 경우 JBoss EAP XP 5.0의 Helm 차트를 사용하여 애플리케이션 이미지를 빌드할 수 있습니다(기본
build.mode가bootable-jar로 설정됨). -
Java 애플리케이션이 Jakarta 배포인 경우 Helm 차트의
build.mode를s2i로 설정하여 source-to-Image (예: JBoss EAP 8.0)를 사용하여 애플리케이션 이미지를 빌드할 수 있습니다.
12.1. Helm 차트를 사용하여 JBoss EAP XP 애플리케이션 빌드 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
빌드 및 배포 값을 구성하여 Helm 차트를 사용하여 JBoss EAP XP 애플리케이션을 빌드할 수 있습니다. 빌드 구성에서 애플리케이션 코드를 호스팅하는 Git 리포지토리에 URL을 제공해야 합니다. 출력은 빌드된 애플리케이션 이미지가 포함된 ImageStreamTag 리소스입니다. 애플리케이션을 배포하려면 빌드된 애플리케이션 이미지가 포함된 ImageStreamTag 리소스를 제공해야 합니다. 출력은 OpenShift 내부 및 외부에서 애플리케이션에 액세스하는 데 사용할 수 있는 배포된 애플리케이션 및 기타 관련 리소스입니다.
사전 요구 사항
- OpenShift 개발 콘솔에 액세스할 수 있습니다.
- Git 리포지토리에서 호스팅되는 JBoss EAP XP 애플리케이션의 소스 코드가 있습니다.
- 애플리케이션은 Maven 프로젝트입니다.
-
org.jboss.eap.plugins:eap-maven-plugin을 사용하여 JBoss EAP XP 5.0 서버를 프로비저닝하도록 애플리케이션을 구성했습니다.
- 이 절차에서는 OpenShift Development Console 사용에만 중점을 둡니다.
- 일부 양식 섹션은 기본적으로 축소됩니다. 다음 섹션을 업데이트하여 업데이트할 필요가 없습니다.Additionally, you do not need to update these sections to proceed.
프로세스
OpenShift 개발 콘솔에 로그인합니다.
- 드롭다운 메뉴에서 Helm 을 클릭합니다.
- 오른쪽 상단에서 생성 을 클릭한 다음 Helm 릴리스 를 클릭합니다.
- JBoss EAP XP 5를 선택합니다.
- 생성을 클릭하고 YAML 보기를 통해 구성을 선택합니다.
소스 리포지토리에서 애플리케이션 이미지를 빌드합니다.
build: uri: <git repository URL of your application> mode: s2i
build: uri: <git repository URL of your application> mode: s2iCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
sourceSecret키를 사용하여빌드섹션에 보안을 입력합니다.build: uri: <git repository URL of your application> mode: s2i sourceSecret: <name of secret login to your Git repository>
build: uri: <git repository URL of your application> mode: s2i sourceSecret: <name of secret login to your Git repository>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
- 애플리케이션이 성공적으로 배포된 경우 OpenShift 개발 콘솔의 Helm 릴리스 옆에 배포된 배지가 표시되어야 합니다.
12.1.1. JBoss EAP XP에서 S2I(Source-to-Image)와 함께 Helm 채팅 사용 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 pom.xml 에서 Cryostat-maven-plugin 을 사용하여 JBoss EAP 서버를 프로비저닝합니다. OpenShift 프로필이 다른 모든 것보다 우선하므로 이 플러그인이 OpenShift 프로필, 기본 프로필 또는 기타 활성 프로필에 구성되어 있는지 확인합니다.
build.mode 를 S2I로 설정해야 합니다. 이는 JBoss EAP XP Helm 차트의 기본값이 bootable-jar 이기 때문입니다.
build.s2i.featurePacks,build.s2i.galleonLayers 및 build.s2i.channels 필드가 더 이상 사용되지 않습니다.
12.1.2. JBoss EAP XP에서 부팅 가능한 JAR로 Helm 차트 사용 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP XP 5.0에서 이 작업을 수행하는 방법에 대한 자세한 내용은 부팅 가능한 JAR 을 참조하십시오.
또한 JBoss EAP XP 5.0에서는 부팅 가능한 JAR을 기반으로 애플리케이션을 빌드하도록 JBoss EAP XP 5.0에 대한 Helms 차트를 구성할 수 있습니다.
사전 요구 사항
- OpenShift 개발 콘솔에 로그인했습니다.
- Git 리포지토리에서 호스팅되는 JBoss EAP XP 애플리케이션의 소스 코드가 있습니다.
-
애플리케이션은 Maven 프로젝트입니다. Maven 플러그인
org.wildfly.plugins:wildfly-jar-maven-plugin을 사용하여 부팅 가능한 JAR을 생성하도록 애플리케이션을 구성했습니다. 자세한 내용은 부팅 가능한 JAR Maven 프로젝트 생성을 참조하십시오.
12.1.2.1. 부팅 가능한 JAR을 사용하여 애플리케이션 이미지 빌드 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 개발 콘솔의 빌드 섹션을 구성하여 Helms 차트를 사용하여 부팅 가능으로 JBoss EAP XP 애플리케이션 이미지를 빌드할 수 있습니다.
-
Helm 차트를 사용하여 애플리케이션을 빌드하는 경우 Git 리포지터리를 참조하는 Git URL을 사용하여
build.url필드를 지정해야 합니다. -
build.mode필드를bootable-jar로 설정해야 합니다.
12.2. JBoss EAP XP용 Helm 차트의 영구 데이터 저장을 위한 OpenShift 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 볼륨을 사용하면 컨테이너가 클라우드 스토리지, NFS(네트워크 파일 시스템) 또는 호스트 시스템을 비롯한 다양한 소스의 데이터를 저장하고 공유할 수 있습니다. OpenShift 패키지 관리자인 Helm 차트를 사용하여 일관되고 재현 가능한 방식으로 애플리케이션을 배포할 수 있습니다. Helm 차트에 볼륨 마운트를 추가하면 애플리케이션이 배포 간에 데이터를 유지할 수 있습니다.
12.2.1. JBoss EAP XP에 Helm 차트를 사용하여 볼륨 마운트 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 JBoss EAP XP에서 Helm 차트를 사용하여 시크릿을 볼륨으로 마운트하는 방법을 설명합니다. 또한 이를 사용하여 ConfigMap 을 마운트할 수도 있습니다. 이 작업을 통해 애플리케이션은 데이터에 안전하게 액세스하고 사용할 수 있으므로 무단 액세스 또는 변조로부터 보호할 수 있습니다. 예를 들어 보안을 볼륨으로 마운트하면 시크릿에 저장한 중요한 데이터가 시크릿이 마운트된 배포를 실행하는 POD에 파일로 표시됩니다.
사전 요구 사항
- OpenShift 개발 콘솔에 액세스할 수 있습니다.
-
시크릿을 생성했습니다. 예를 들어keystore.jks와 같은 파일을 참조하는 Cryostat-app-secret이라는 시크릿을 생성했습니다. -
컨테이너의 파일 시스템에서 시크릿을 마운트할 위치를 확인했습니다. 예를 들어
/etc/jgroups-encrypt-secre-secret-volume디렉터리는keystore.jks와 같은 시크릿 파일이 마운트된 위치입니다. - Git 리포지토리에서 호스팅되는 JBoss EAP XP 애플리케이션의 소스 코드입니다.
- 애플리케이션은 Maven 프로젝트입니다.
-
org.jboss.eap.plugins:eap-maven-plugin을 사용하여 JBoss EAP XP 5.0 서버를 프로비저닝하도록 애플리케이션을 구성했습니다.
프로세스
OpenShift 개발 콘솔에 로그인합니다.
- 드롭다운 메뉴에서 Helm 을 클릭합니다.
- 오른쪽 상단에서 생성 을 클릭한 다음 Helm 릴리스 를 클릭합니다.
- JBoss EAP XP 5를 선택합니다.
- 생성을 클릭하고 YAML 보기를 통해 구성을 선택합니다.
deploy.volumes필드에 볼륨을 지정하는 YAML 파일을 편집하고 사용할 시크릿을 구성합니다. 볼륨 이름과 시크릿의 secretName을 제공해야 합니다.volumes: - name: eap-jgroups-keystore-volume secret: secretName: eap-app-secretvolumes: - name: eap-jgroups-keystore-volume secret: secretName: eap-app-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배포 구성에서
deploy.volumeMounts를 사용하여 파일 시스템에 볼륨을 마운트합니다.volumeMounts: - name: eap-jgroups-keystore-volume mountPath: /etc/jgroups-encrypt-secret-volume readOnly: truevolumeMounts: - name: eap-jgroups-keystore-volume mountPath: /etc/jgroups-encrypt-secret-volume readOnly: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pod가 시작되면 컨테이너는
/etc/jgroups-encrypt-secret-volume/keystore.jks위치에 keystore.jks 파일을 마운트합니다.
13장. JBoss EAP의 가시성 링크 복사링크가 클립보드에 복사되었습니다!
개발자 또는 시스템 관리자인 경우 관찰 기능은 애플리케이션의 특정 신호, 애플리케이션 위치 및 문제 소스에 따라 사용할 수 있는 관행 및 기술 집합입니다. 가장 일반적인 신호는 메트릭, 이벤트 및 추적입니다. JBoss EAP는 관찰 을 위해 OpenTelemetry를 사용합니다.
13.1. JBoss EAP의 OpenTelemetry 링크 복사링크가 클립보드에 복사되었습니다!
OpenTelemetry는 애플리케이션의 Telemetry 데이터를 계측, 생성, 수집 및 내보내는 데 사용할 수 있는 도구 세트, API(애플리케이션 프로그래밍 인터페이스) 및 SDK(소프트웨어 개발 키트)입니다. 원격 분석 데이터에는 메트릭, 로그 및 추적이 포함됩니다. 애플리케이션의 Telemetry 데이터를 분석하면 애플리케이션 성능을 개선하는 데 도움이 됩니다. JBoss EAP는 opentelemetry 하위 시스템을 통해 OpenTelemetry 기능을 제공합니다.
Red Hat JBoss Enterprise Application Platform 8.0은 OpenTelemetry 추적 기능만 제공합니다.
OpenTelemetry는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 을 참조하십시오.
13.2. JBoss EAP의 OpenTelemetry 구성 링크 복사링크가 클립보드에 복사되었습니다!
opentelemetry 하위 시스템을 사용하여 JBoss EAP에서 OpenTelemetry의 여러 측면을 구성합니다. 여기에는 내보내기자, 범위 프로세서 및 샘플러가 포함됩니다.
- 내보내기
- 추적을 분석하고 시각화하기 위해 OTLP(OpenTelemetry Collector)와 같은 수집기로 내보냅니다. OpenTelemetry 프로토콜을 지원하는 모든 컬렉터를 사용하도록 JBoss EAP를 구성할 수 있습니다.
- 범위 프로세서
- 범위를 생성하거나 일괄적으로 내보내도록 범위 프로세서를 구성할 수 있습니다. 내보낼 추적 수를 구성할 수도 있습니다.
- sampler
- 샘플러를 구성하여 기록할 추적 수를 구성할 수 있습니다.
설정 예
다음 XML은 기본값을 포함하여 전체 OpenTelemetry 구성의 예입니다. JBoss EAP는 변경 시 기본값을 유지하지 않으므로 구성이 다를 수 있습니다.
OpenShift 경로 오브젝트를 사용하여 OpenTelemetry 수집기 끝점과 연결할 수 없습니다. 대신 http:// <ip_address > : <port > 또는 http:// <service_name > : <port >를 사용합니다.
13.3. JBoss EAP에서 OpenTelemetry 추적 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP는 애플리케이션의 다양한 부분을 통과할 때 사용자 요청의 진행 상황을 추적하는 데 도움이 되는 OpenTelemetry 추적 기능을 제공합니다. 추적을 분석하면 애플리케이션의 성능을 개선하고 가용성 문제를 디버깅할 수 있습니다.
OpenTelemetry 추적은 다음 구성 요소로 구성됩니다.
- Trace
- 요청이 애플리케이션에서 통과하는 작업 컬렉션입니다.
- 범위
- 추적 내의 단일 작업입니다. 요청, 오류 및 기간(RED) 지표를 제공하고 범위 컨텍스트를 포함합니다.
- 범위 컨텍스트
- 포함 범위가 의 일부인 요청을 나타내는 고유 식별자 집합입니다.
JBoss EAP는 Jakarta RESTful Web Services 애플리케이션 및 컨테이너 관리 Jakarta RESTful Web Services 클라이언트 호출에 대한 REST 호출을 자동으로 추적합니다. JBoss EAP는 다음과 같이 암시적으로 REST 호출을 추적합니다.
들어오는 각 요청에 대해 다음을 수행합니다.
- JBoss EAP는 요청에서 범위 컨텍스트를 추출합니다.
- JBoss EAP는 새 기간을 시작한 다음 요청이 완료되면 종료합니다.
발신 요청마다 다음을 수행합니다.
- JBoss EAP는 요청에 범위 컨텍스트를 삽입합니다.
- JBoss EAP는 새 기간을 시작한 다음 요청이 완료되면 종료합니다.
암시적 추적 외에도 세분화된 추적을 위해 애플리케이션에 Tracer 인스턴스를 삽입하여 사용자 지정 범위를 생성할 수 있습니다.
13.4. JBoss EAP에서 OpenTelemetry 추적 활성화 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에서 OpenTelemetry 추적을 사용하려면 먼저 opentelemetry 하위 시스템을 활성화해야 합니다.
사전 요구 사항
- JBoss EAP XP 5.0을 사용한 JBoss EAP 8.0이 설치되어 있습니다.
프로세스
관리 CLI를 사용하여 OpenTelemetry 확장을 추가합니다.
/extension=org.wildfly.extension.opentelemetry:add
/extension=org.wildfly.extension.opentelemetry:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 관리 CLI를 사용하여
opentelemetry하위 시스템을 활성화합니다./subsystem=opentelemetry:add
/subsystem=opentelemetry:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 다시 로드.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.5. opentelemetry 하위 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
opentelemetry 하위 시스템을 구성하여 추적의 다양한 측면을 설정할 수 있습니다. 추적을 관찰하는 데 사용하는 수집기를 기반으로 이러한 항목을 구성합니다.
사전 요구 사항
-
opentelemetry하위 시스템을 활성화했습니다. 자세한 내용은 JBoss EAP에서 OpenTelemetry 추적 활성화를 참조하십시오.
프로세스
추적의 내보내기 유형을 설정합니다.
구문
/subsystem=opentelemetry:write-attribute(name=exporter-type, value=<exporter_type>)
/subsystem=opentelemetry:write-attribute(name=exporter-type, value=<exporter_type>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
/subsystem=opentelemetry:write-attribute(name=exporter-type, value=otlp)
/subsystem=opentelemetry:write-attribute(name=exporter-type, value=otlp)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추적을 내보낼 끝점을 설정합니다.
구문
/subsystem=opentelemetry:write-attribute(name=endpoint, value=<URL:port>)
/subsystem=opentelemetry:write-attribute(name=endpoint, value=<URL:port>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
/subsystem=opentelemetry:write-attribute(name=endpoint, value=http://localhost:4317)
/subsystem=opentelemetry:write-attribute(name=endpoint, value=http://localhost:4317)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추적을 내보내는 서비스 이름을 설정합니다.
구문
/subsystem=opentelemetry:write-attribute(name=service-name, value=<service_name>)
/subsystem=opentelemetry:write-attribute(name=service-name, value=<service_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
/subsystem=opentelemetry:write-attribute(name=service-name, value=exampleOpenTelemetryService)
/subsystem=opentelemetry:write-attribute(name=service-name, value=exampleOpenTelemetryService)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14장. reference 링크 복사링크가 클립보드에 복사되었습니다!
14.1. MicroProfile Config 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.1.1. 기본 MicroProfile Config 속성 링크 복사링크가 클립보드에 복사되었습니다!
MicroProfile Config 사양은 기본적으로 세 가지 ConfigSources 를 정의합니다.
ConfigSources 는 서수에 따라 정렬됩니다. 이후 배포에 대한 구성을 덮어써야 하는 경우 더 낮은 ordinal ConfigSource 가 더 높은 Ordinal ConfigSource 를 덮어씁니다.
ConfigSource | ordinal |
|---|---|
| 시스템 속성 |
|
| 환경 변수 |
|
|
속성 파일 |
|
14.1.2. MicroProfile Config SmallRye ConfigSources 링크 복사링크가 클립보드에 복사되었습니다!
microprofile-config-#159rye 프로젝트는 기본 MicroProfile Config ConfigSources 외에도 사용할 수 있는 더 많은 ConfigSources 를 정의합니다.
ConfigSource | ordinal |
|---|---|
|
Cryostat의 |
|
|
Directory의 |
|
|
클래스의 |
|
이러한 ConfigSources 에 대해 명시적 ordinal이 지정되지 않습니다. MicroProfile Config 사양에 있는 기본 ordinal 값을 상속합니다.
14.2. MicroProfile Fault Tolerance 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.2.1. MicroProfile Fault Tolerance 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
smallrye Fault Tolerance 사양은 MicroProfile Fault Tolerance 사양에 정의된 속성 외에 다음 속성을 정의합니다.
| 속성 | 기본값 | 설명 |
|---|---|---|
|
|
| 스레드 풀의 최대 스레드 수입니다. |
|
|
| 스레드 풀에서 사용해야 하는 큐의 크기입니다. |
14.3. MicroProfile JWT 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.3.1. MicroProfile Config JWT 표준 속성 링크 복사링크가 클립보드에 복사되었습니다!
microprofile-jwt-undercloudrye 하위 시스템은 다음 MicroProfile Config 표준 속성을 지원합니다.
| 속성 | 기본 | 설명 |
|---|---|---|
| mp.jwt.verify.publickey | NONE |
지원되는 형식 중 하나를 사용하여 인코딩된 공개 키의 문자열 표현입니다. |
| mp.jwt.verify.publickey.location | NONE |
공개 키의 위치는 상대 경로 또는 URL일 수 있습니다. |
| mp.jwt.verify.issuer | NONE |
모든 JWT 토큰의 예상 값은 검증되는 모든 JWT 토큰에 대한 값 |
microprofile-config.properties 구성의 예:
mp.jwt.verify.publickey.location=META-INF/public.pem mp.jwt.verify.issuer=jwt-issuer
mp.jwt.verify.publickey.location=META-INF/public.pem
mp.jwt.verify.issuer=jwt-issuer
14.4. MicroProfile OpenAPI 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.4.1. MicroProfile OpenAPI 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP는 표준 MicroProfile OpenAPI 구성 속성 외에도 다음과 같은 추가 MicroProfile OpenAPI 속성을 지원합니다. 이러한 속성은 전역 및 애플리케이션 범위 모두에서 적용할 수 있습니다.
| 속성 | 기본값 | 설명 |
|---|---|---|
|
|
| OpenAPI 엔드포인트 등록을 활성화하거나 비활성화합니다.
프로덕션 또는 개발과 같은 다른 환경에서 이 속성을 사용하여 지정된 가상 호스트와 연결된 애플리케이션을 제어하는 데 MicroProfile OpenAPI 모델을 생성할 수 있습니다. |
|
|
| 이 속성을 사용하여 가상 호스트와 연결된 여러 애플리케이션에 대한 OpenAPI 문서를 생성할 수 있습니다.
동일한 가상 호스트와 연결된 각 애플리케이션에 고유한 |
|
|
| 자동 생성된 서버 레코드가 OpenAPI 끝점의 위치에 대한 절대인지 또는 상대적인지 여부를 나타냅니다. 루트가 아닌 컨텍스트 경로가 있는 경우 OpenAPI 문서의 소비자가 OpenAPI 엔드포인트 호스트를 기준으로 REST 서비스에 대한 유효한 URL을 구성할 수 있는지 확인하려면 서버 레코드가 필요합니다.
value
|
14.5. MicroProfile Reactive Messaging 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.5.1. 외부 메시징 시스템과 통합을 위한 MicroProfile reactive 메시징 커넥터 링크 복사링크가 클립보드에 복사되었습니다!
다음은 MicroProfile Config 사양에 필요한 reactive messaging 속성 키 접두사 목록입니다.
-
mp.messaging.incoming.[channel-name].[attribute]=[value] -
mp.messaging.outgoing.[channel-name].[attribute]=[value] -
mp.messaging.connector.[connector-name].[attribute]=[value]
channel-name 은 @Incoming.value() 또는 @Outgoing.value() 입니다. 자세한 내용은 한 쌍의 커넥터 방법 예제를 참조하십시오.
이 예에서 필수 속성 접두사는 다음과 같습니다.
-
mp.messaging.incoming.from. 이는receive()메서드를 정의합니다. -
mp.messaging.outgoing.to. 이는send()메서드를 정의합니다.
이는 하나의 예입니다. 서로 다른 커넥터가 다른 속성을 인식하므로 구성하려는 커넥터에 따라 표시되는 접두사가 지정됩니다.
14.5.2. reactive 메시징 스트림과 사용자 초기화 코드 간의 데이터 교환 예 링크 복사링크가 클립보드에 복사되었습니다!
다음은 사용자가 @Channel 과 Emitter 구문을 통해 트리거한 reactive 메시징 스트림과 코드 간의 데이터 교환 예입니다.
인라인 세부 정보:
이 예에서 MicroProfile Reactive Messaging은 my-stream 메모리 스트림을 수신하므로 Emitter 를 통해 전송된 메시지는 이 삽입된 게시자에 수신됩니다. 그러나 이 데이터 교환에 성공하려면 다음 조건이 true여야 합니다.
-
Emitter.send()를 호출하기 전에 채널에 활성 서브스크립션이 있어야 합니다. 이 예제에서 생성자가 호출하는subscribeAndAllowMultipleSubscriptions()메서드는 사용자 코드 호출에 사용할 수 있는 시점까지 활성 서브스크립션이 있는지 확인합니다. -
삽입된
게시자에 대해 하나의서브스크립션만 가질 수 있습니다. REST 호출을 사용하여 수신 게시자를 노출하려면poll()메서드를 호출하면dest게시자에 새 서브스크립션이 생성되고 각 클라이언트에 삽입된 데이터를 브로드캐스트하기 위해 자체 게시자를 구현해야 합니다.
14.5.3. Apache Kafka 사용자 API 링크 복사링크가 클립보드에 복사되었습니다!
Apache Kafka 사용자 API를 사용하여 Kafka가 수신된 메시지에 대한 자세한 정보를 가져오고 Kafka가 메시지를 처리하는 방법에 영향을 미칠 수 있습니다. 이 API는 io/#159rye/reactive/messaging/kafka/api 패키지에 저장되며 다음 클래스로 구성됩니다.
IncomingKafkaRecordMetadata. 이 메타데이터에는 다음 정보가 포함됩니다.-
메시지로 표시되는 Kafka 레코드
키입니다. -
메시지에사용되는 Kafka주제및파티션과 그 내의오프셋입니다. -
Messagetimestamp및timestampType. -
메시지헤더입니다. 이러한 정보는 애플리케이션이 생성 측에 첨부할 수 있고 소비되는 측면에서 수신할 수 있는 정보입니다.
-
메시지로 표시되는 Kafka 레코드
OutgoingKafkaRecordMetadata. 이 메타데이터를 사용하면 Kafka에서 메시지를 처리하는 방법을 지정하거나 덮어쓸 수 있습니다. 여기에는 다음 정보가 포함됩니다.-
Kafka에서 메시지
키로처리하는 키 . -
Kafka에서 사용할
주제입니다. -
파티션. -
Kafka가 생성하는
타임스탬프를 원하지 않는 경우입니다. -
헤더.
-
Kafka에서 메시지
-
KafkaMetadataUtil에는OutgoingKafkaRecordMetadata를메시지에작성하고 메시지에서IncomingKafkaRecordMetadata를 읽는 유틸리티 방법이 포함되어 있습니다.
Kafka에 매핑되지 않은 채널로 전송된 메시지에 OutgoingKafkaRecordMetadata 를 작성하는 경우 reactive 메시징 프레임워크가 이를 무시합니다. 반대로 Kafka에 매핑되지 않은 채널에서 Message 에서 IncomingKafkaRecordMetadata 를 읽는 경우 해당 메시지는 null 로 반환됩니다.
메시지 키를작성하고 읽는 방법의 예
microprofile-config.properties 파일의 Kafka 매핑 예
발신 채널의 key.serializer 와 들어오는 채널의 key.deserializer 를 지정해야 합니다.
14.5.4. Kafka 커넥터의 MicroProfile Config 속성 파일의 예 링크 복사링크가 클립보드에 복사되었습니다!
이는 Kafka 커넥터의 간단한 microprofile-config.properties 파일의 예입니다. 해당 속성은 "MicroProfile reactive messaging connectors for integrating with external messaging systems"의 속성에 해당합니다.
| 항목 | 설명 |
|---|---|
|
| 이는 "채널"입니다. |
|
| 이는 "methods"입니다.
|
|
|
이는 애플리케이션이 연결해야 하는 Kafka 브로커의 URL을 지정합니다. 채널 수준에서 URL을 지정할 수도 있습니다(예: |
|
|
이는
smallrye reactive messaging는 애플리케이션을 빌드하기 위한 프레임워크입니다. |
|
|
이는 Kafka "topic"은 메시지가 저장되고 게시되는 카테고리 또는 피드 이름입니다. 모든 Kafka 메시지는 주제로 구성됩니다. 생산자 애플리케이션은 주제 및 소비자 애플리케이션에 데이터를 작성하여 주제 에서 데이터를 읽습니다. |
|
|
이는 커넥터가 |
|
|
이는 channel을 사용하여 Kafka |
|
|
이는 커넥터가 |
|
|
이는 커넥터가 |
이 속성 목록은 포괄적이지 않습니다. 자세한 내용은 SmallRye Reactive Messaging Apache Kafka 설명서를 참조하십시오.
필수 MicroProfile Reactive Messaging 접두사
MicroProfile Reactive Messaging 사양에는 Kafka에 대해 다음과 같은 메서드 속성 키 접두사가 필요합니다.
-
mp.messaging.incoming.[channel-name].[attribute]=[value]` -
mp.messaging.outgoing.[channel-name].[attribute]=[value]` -
mp.messaging.connector.[connector-name].[attribute]=[value]`
channel-name 은 @Incoming.value() 또는 @Outgoing.value() 입니다.
이제 다음 메서드 쌍 예제를 고려하십시오.
이 메서드 쌍 예제에서는 다음과 같은 필수 속성 접두사를 기록해 둡니다.
-
mp.messaging.incoming.from. 이 접두사는receive()메서드의 구성으로 속성을 선택합니다. -
mp.messaging.outgoing.to. 이 접두사는send()메서드의 구성으로 속성을 선택합니다.
14.5.5. AMQP 커넥터의 MicroProfile Config 속성 파일의 예 링크 복사링크가 클립보드에 복사되었습니다!
이는 AMQP(Advanced Message Queuing Protocol) 커넥터의 간단한 microprofile-config.properties 파일의 예입니다. 해당 속성은 외부 메시징 시스템과 통합을 위한 MicroProfile reactive 메시징 커넥터 의 속성에 해당합니다.
| 항목 | 설명 |
|---|---|
|
| 이는 "채널"입니다. |
|
| 이는 "methods"입니다.
|
|
|
이는 애플리케이션이 연결해야 하는 AMQP 브로커의 URL을 지정합니다. 다음과 같이 채널 수준에서 URL을 지정할 수도 |
|
| 이는 AMQP 브로커의 포트를 지정합니다. |
|
| 이는 채널이 AMQP에 메시지를 전송하도록 한다는 것을 나타냅니다.
smallrye reactive messaging는 애플리케이션을 빌드하기 위한 프레임워크입니다. |
|
|
이는 |
|
|
이는 |
|
|
이는 |
SmallRye Reactive Messaging의 AMQP 커넥터에서 지원하는 전체 속성 목록은 SmallRye Reactive Messaging Connector Configuration Reference 를 참조하십시오.
보안 AMQP 브로커에 연결
SSL/TLS 및 SASL(Simple Authentication and Security Layer)으로 보안된 AMQ 브로커와 연결하려면 microprofile-config.properties 파일에서 연결에 사용할 client-ssl-context 를 정의합니다. 커넥터 수준 및 채널 수준에서도 이 작업을 수행할 수 있습니다.
커넥터 수준 client-ssl-context 정의의 예
amqp-use-ssl=true mp.messaging.connector.smallrye-amqp.wildfly.elytron.ssl.context=exampleSSLContext
amqp-use-ssl=true
mp.messaging.connector.smallrye-amqp.wildfly.elytron.ssl.context=exampleSSLContext
mp.messaging.connector.undercloudrye-amqp.wildfly.elytron.ssl.context 속성은 자체 서명된 인증서를 사용하는 경우에만 필요합니다.
프로덕션 환경에서는 자체 서명된 인증서를 사용하지 마십시오. CA(인증 기관)에서 서명한 인증서만 사용합니다.
다음과 같이 채널에 client-ssl-context 를 지정할 수도 있습니다.
채널 수준 client-ssl-context 정의의 예
mp.messaging.incoming.from.wildfly.elytron.ssl.context=exampleSSLContext
mp.messaging.incoming.from.wildfly.elytron.ssl.context=exampleSSLContext
예제에서 exampleSSLContext 는 에서 들어오는 채널과만 연결됩니다.
| 항목 | 설명 |
|---|---|
|
| 이는 브로커에 연결할 때 보안 연결을 사용하도록 지정합니다. |
|
| AMQ 브로커가 CA(인증 기관) 서명 인증서로 보안된 경우 이 속성을 지정할 필요가 없습니다.
자체 서명된 인증서를 사용하는 경우 관리 모델에서 중요 프로덕션 환경에서는 자체 서명된 인증서를 사용하지 마십시오. CA(인증 기관)에서 서명한 인증서만 사용합니다.
다음 관리 CLI 명령을 사용하여
/subsystem=elytron/client-ssl-context=exampleSSLContext:add(key-manager=exampleServerKeyManager,trust-manager=exampleTLSTrustManager)
자세한 내용은 JBoss EAP 가이드의 SSL/TLS 구성에서양방향 SSL/TLS 구성에 대한 서버 인증서 구성, 클라이언트 인증서에 대한 신뢰 저장소 및 신뢰 관리자 구성 을 참조하십시오. |
14.6. OpenTelemetry 참조 링크 복사링크가 클립보드에 복사되었습니다!
14.6.1. OpenTelemetry 하위 시스템 속성 링크 복사링크가 클립보드에 복사되었습니다!
opentelemetry 하위 시스템 속성을 수정하여 해당 동작을 구성할 수 있습니다. 속성은 내보내기, 샘플러 및 범위 프로세서의 구성 측면으로 그룹화됩니다.
| 속성 | 설명 | 기본값 |
|---|---|---|
|
| OpenTelemetry가 추적을 푸시하는 URL입니다. 이 값을 내보내기가 수신 대기하는 URL로 설정합니다. | |
|
| 추적이 전송되는 내보내기입니다. 다음 중 하나일 수 있습니다.
|
|
| 속성 | 설명 | 기본값 |
|---|---|---|
|
|
내보낼 추적의 비율입니다. 값은 |
|
| 속성 | 설명 | 기본값 |
|---|---|---|
|
|
JBoss EAP가 연속적으로 두 번 내보내는 간격(밀리초)입니다. 이 속성은 특성 |
|
|
| 취소되기 전에 내보내기를 완료할 수 있는 최대 시간(밀리초)입니다. |
|
|
|
각 배치에 게시된 최대 추적 수입니다. 이 수는 |
|
|
|
내보내기 전에 대기열에 추가할 최대 추적 수입니다. 애플리케이션에서 더 많은 추적을 생성하면 기록되지 않습니다. 이 속성은 특성 |
|
|
| 사용할 범위 프로세서 유형입니다. 값은 다음 중 하나일 수 있습니다.
|
|