Azure App Service의 JBoss EAP에 Java EE(Jakarta EE) 애플리케이션 배포

완료됨

이 단원의 단계에서는 Azure App Service의 JBoss EAP에 Java EE 애플리케이션을 배포하는 방법과 데이터베이스에 연결하는 방법을 설명합니다. 다음 단원에서 이러한 단계를 실제로 실행해 보겠습니다.

Java EE(Jakarta EE) 애플리케이션 만들기

이 모듈에서는 미리 준비된 샘플 Java EE 애플리케이션을 사용하고 다음 기술을 사용합니다.

  • Java EE 8(Jakarta EE 8)
  • JAX-RS 2.1
  • JSON-B 1.0
  • CDI 2.0
  • JPA 2.2

여기서 소개하는 배포 절차는 대부분의 Java EE(Jakarta EE) 웹 애플리케이션에서 유사합니다.

Maven을 사용하여 Azure에 배포하기 위한 애플리케이션 프로젝트 구성

Microsoft는 Azure App Service에 Java 웹 애플리케이션을 배포하기 위한 Azure App Service용 Maven 플러그 인을 제공합니다. 해당 Maven 플러그 인을 사용하여 App Service 인스턴스에 대해 다음 설정을 쉽게 구성할 수 있습니다.

항목 설명
subscriptionID 배포를 위한 Azure 구독
resourceGroup 웹 컨테이너가 배포되는 리소스 그룹의 이름
appName 웹 컨테이너의 애플리케이션 인스턴스 이름
pricingTier 실행할 가상 머신 선택 영역
region 배포할 지역(MySQL 설치 위치와 동일한 위치)
runtime OS 실행할 운영 체제(Linux)
runtime javaVersion 웹 컨테이너의 Java 가상 머신 버전(Java 8)
runtime webContainer 웹 컨테이너(JBoss EAP 7)

이 모듈에서는 애플리케이션을 JBoss EAP 환경에 배포합니다. Java 버전으로 Java 8을 선택하고 런타임 웹 컨테이너로 Jbosseap 7.4를 선택합니다.

WAR 패키지 빌드

./mvnw package 명령을 사용하여 WAR(Web Application Archive) 패키지를 빌드할 수 있습니다.

참고

필요에 따라 로컬 JBoss EAP 환경에 배포하여 패키지를 테스트할 수 있습니다.

JBoss EAP에 Java EE 앱 배포

Maven 아티팩트를 만든 후 Azure App Service용 Maven 플러그 인에서 deploy 명령을 실행하여 JBoss EAP에 애플리케이션을 배포할 수 있습니다.

deploy 명령은 이전 플러그 인 설정에 따라 Azure 리소스 그룹 및 JBoss EAP 인스턴스를 만듭니다. 해당 명령 하나로 인스턴스 만들기부터 Java 웹 애플리케이션 배포까지 모든 작업을 수행합니다.

전체 구성 목록은 플러그 인 참조 설명서를 참조하세요. 모든 Azure Maven 플러그 인은 일반적인 구성 집합을 공유합니다. 이러한 구성에 대해서는 일반 구성을 참조하세요. App Service 관련 구성은 Azure Web App: 구성 세부 정보를 참조하세요.

데이터 원본 및 JNDI를 사용하여 데이터베이스 연결 구성

애플리케이션을 데이터 원본에 바인딩해야 합니다. 이전 단원에서 만든 MySQL 데이터베이스를 사용하도록 애플리케이션을 구성합니다.

JBoss EAP에서 데이터베이스에 연결하려면 DataSource 개체를 구성해야 합니다. DataSource 개체를 구성하면 애플리케이션이 데이터베이스에 연결할 수 있습니다.

다음 정보를 사용하여 이전에 만든 Azure Database for MySQL 인스턴스에 연결하도록 DataSource를 구성합니다.

데이터 원본 구성 value
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_8_0
User Name ${MYSQL_USER}
Password ${MYSQL_PASSWORD}
Minimum Pool Size 5
Maximum Pool Size 20
JDBC Class Name com.mysql.cj.jdbc.Driver

java:jboss/datasources/JPAWorldDataSource의 JNDI(Java Naming and Directory Interface) 이름을 데이터 원본에 사용했습니다. JNDI는 코드를 변경하지 않고 여러 환경에서 다른 데이터베이스로 변경하는 데 유용합니다.

애플리케이션 액세스

JBoss EAP에서 MySQL 데이터 원본 연결을 구성한 후 웹 브라우저나 curl 명령을 사용하여 Java EE 애플리케이션에 액세스할 수 있습니다.

다음 단원에서는 여기에 간략하게 설명된 절차를 사용하여 샘플 앱을 배포합니다.