Azure App Service에서 JBoss EAP에 Jakarta EE 애플리케이션 배포
이 단원에서는 Azure App Service의 JBoss EAP(Red Hat JBoss Enterprise Application Platform)에 Jakarta EE 애플리케이션을 배포하는 단계를 설명합니다. 또한 데이터베이스에 연결하는 방법도 설명합니다. 실제로 다음 단원에서 이러한 단계를 실행합니다.
Jakarta EE 애플리케이션 만들기
이 모듈에서는 다음 기술을 사용하는 샘플 Jakarta EE 애플리케이션을 사용합니다.
- Jakarta EE 10
- JAX-RS 3.1
- JSON-B 3.0
- CDI 4.0
- JPA 3.1
팁 (조언)
여기에 도입된 배포 절차는 대부분의 Jakarta EE 웹 애플리케이션에 사용되는 절차와 유사합니다.
Maven을 사용하여 Azure에 배포하기 위한 애플리케이션 프로젝트 구성
Microsoft는 Azure App Service용 Maven 플러그 인을 제공하여 Java 웹 애플리케이션을 Azure App Service에 배포합니다. 이 Maven 플러그 인을 사용하여 App Service 인스턴스에 대해 다음 설정을 구성할 수 있습니다.
| 설정 | 설명 |
|---|---|
subscriptionID |
배포를 위한 Azure 구독입니다. |
resourceGroup |
웹 컨테이너가 배포되는 리소스 그룹의 이름입니다. |
appName |
웹 컨테이너의 애플리케이션 인스턴스 이름입니다. |
pricingTier |
사용할 가상 머신 선택 영역입니다. |
region |
배포할 지역 이 모듈에서는 MySQL 설치 위치와 동일한 위치를 사용합니다. |
runtime, OS |
사용할 운영 체제입니다. 이 모듈에서는 Linux를 사용합니다. |
runtime, javaVersion |
웹 컨테이너에 대한 Java 가상 머신 버전입니다. 이 모듈에서는 .를 사용합니다 Java 17. |
runtime, webContainer |
웹 컨테이너입니다. 이 모듈에서는 Red Hat JBoss EAP 8를 사용합니다. |
WAR 패키지 빌드
이 ./mvnw package 명령을 사용하여 WAR(웹 애플리케이션 보관) 패키지를 빌드할 수 있습니다.
비고
필요에 따라 로컬 JBoss EAP 환경에 배포하여 패키지를 테스트할 수 있습니다.
JBoss EAP에 Jakarta EE 앱 배포
Maven 아티팩트가 만들어지면 Azure App Service용 Maven 플러그 인의 명령을 사용하여 deploy JBoss EAP에 애플리케이션을 배포할 수 있습니다. 이 명령은 이전 플러그 인 설정에 따라 Azure 리소스 그룹 및 JBoss EAP 인스턴스를 만듭니다. 이 하나의 명령은 인스턴스 만들기부터 Java 웹 애플리케이션 배포에 이르기까지 모든 작업을 수행합니다.
모든 Azure Maven 플러그 인은 공통 구성 집합을 공유합니다. 전체 구성 목록은 플러그 인 참조 설명서를 참조하세요. 자세한 내용은 일반 구성을 참조하세요. App Service와 관련된 구성에 대한 자세한 내용은 Azure Web App: 구성 세부 정보를 참조하세요.
데이터 원본 및 JNDI를 사용하여 데이터베이스 연결 구성
애플리케이션에는 데이터 원본에 대한 바인딩이 필요합니다. 다음 단원에서는 이전 단원에서 만든 MySQL 데이터베이스를 사용하도록 애플리케이션을 구성합니다. JBoss EAP에서 데이터베이스에 연결하려면 애플리케이션이 데이터베이스에 연결할 수 있도록 하는 개체를 구성 DataSource 해야 합니다.
이전에 만든 Azure Database for MySQL 인스턴스에 연결하도록 DataSource를 다음 설정을 사용하여 구성합니다.
| 데이터 원본 구성 | 가치 |
|---|---|
DataSource Name |
JPAWorldDataSourceDS |
JNDI Name |
java:jboss/datasources/JPAWorldDataSource |
Connection URL |
${MYSQL_CONNECTION_URL} |
JDBC Driver Name |
$PACKAGE_NAME.war_com.mysql.cj.jdbc.Driver_9_2 |
Minimum Pool Size |
5 |
Maximum Pool Size |
20 |
JDBC Class Name |
com.mysql.cj.jdbc.Driver |
데이터 원본에 대한 JNDI(Java Naming and Directory Interface) 이름을 java:jboss/datasources/JPAWorldDataSource 사용했습니다. JNDI는 여러 환경에서 코드 변경 없이 다른 데이터베이스로 변경하는 데 유용합니다.
애플리케이션 액세스
JBoss EAP에서 MySQL 데이터 원본 연결을 구성한 후 웹 브라우저 또는 curl 명령을 사용하여 Jakarta EE 애플리케이션에 액세스할 수 있습니다.
다음 단원에서는 여기에 설명된 절차를 사용하여 샘플 앱을 배포합니다.