10장. Camel 애플리케이션과 A-MQ 브로커 통합
이 튜토리얼에서는 A-MQ 이미지를 사용하여 빠른 시작을 배포하는 방법을 보여줍니다.
10.1. Spring Boot Camel A-MQ 빠른 시작 빌드 및 배포
이 빠른 시작에서는 Spring Boot 애플리케이션을 AMQ Online에 연결하고 OpenShift에서 Fuse를 사용하여 두 Camel 경로 간에 JMS 메시징을 사용하는 방법을 보여줍니다.
사전 요구 사항
- AMQ Online이 배포 및 실행 중인지 확인합니다. OpenShift에 AMQ Online을 설치하려면 OpenShift에 AMQ Online 설치 및 구성을 참조하십시오.
- OpenShift가 올바르게 실행 중이고 Fuse 이미지 스트림이 이미 OpenShift에 설치되어 있는지 확인합니다. 관리자용 시작하기를 참조하십시오.
- Maven 리포지토리가 fuse용으로 구성되었는지 확인합니다. Maven 리포지토리 구성을 참조하십시오.
프로세스
OpenShift 서버에 개발자로 로그인합니다.
oc login -u developer -p developer
openshift
프로젝트에 로그인합니다.oc project openshift
Maven 워크플로를 사용하여 빠른 시작 프로젝트를 생성합니다.
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-sb2-780040-redhat-00002/archetypes-catalog-2.2.0.fuse-sb2-780040-redhat-00002-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-sb2-780040-redhat-00002
archetype 플러그인은 대화형 모드로 전환되어 나머지 필드를 입력하라는 메시지를 표시합니다.
Define value for property 'groupId': : org.example.fis Define value for property 'artifactId': : fuse78-spring-boot-camel-amq Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': org.example.fis: : Confirm properties configuration: groupId: org.example.fis artifactId: fuse78-spring-boot-camel-amq version: 1.0-SNAPSHOT package: org.example.fis Y: :Y
메시지가 표시되면
groupId
값으로org.example.fis
를 입력하고artifactId
값에fuse78-spring-boot-camel-amq
를 입력합니다. 나머지 필드의 기본값을 수락합니다.빠른 시작 디렉터리
fuse78-spring-boot-camel-amq
로 이동합니다.cd fuse78-spring-boot-camel-amq
다음 명령을 실행하여 구성 파일을 AMQ Online에 적용합니다. 이러한 구성 파일은 관리자 권한이 있는 AMQ Online 사용자와 큐를 생성합니다.
oc login -u system:admin oc apply -f src/main/resources/k8s
mvn
명령을 실행하여 OpenShift 서버에 퀵스타트를 배포합니다.mvn fabric8:deploy -Popenshift
빠른 시작이 성공적으로 실행 중인지 확인하려면 다음을 수행하십시오.
- 브라우저에서 OpenShift 웹 콘솔(https://OPENSHIFT_IP_ADDR, OPENSHIFT_IP_ADDR을 클러스터의 IP 주소로 교체)로 이동하고 인증 정보(예: 사용자 이름 developer 및 암호, developer 사용)로 콘솔에 로그인합니다.
-
왼쪽 패널에서
홈을
확장한 다음상태를
클릭하여openshift
프로젝트의 Project Status 페이지를 확인합니다. -
fuse78-spring-boot-camel-amq
를 클릭하여 퀵 스타트에 대한 개요 정보 페이지를 확인합니다. -
왼쪽 패널에서 워크로드를
확장합니다
. -
포드
를 클릭한 다음fuse78-spring-boot-camel-amq-xxxxx
를 클릭합니다. 빠른 시작에 대한 Pod 세부 정보가 표시됩니다. 로그를
클릭하여 애플리케이션의 로그를 확인합니다.출력에 메시지가 성공적으로 전송됨이 표시됩니다.
10:17:59.825 [Camel (camel) thread #10 - timer://order] INFO generate-order-route - Generating order order1379.xml 10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Sending order order1379.xml to the UK 10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Done processing order1379.xml 10:18:02.825 [Camel (camel) thread #10 - timer://order] INFO generate-order-route - Generating order order1380.xml 10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Sending order order1380.xml to another country 10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Done processing order1380.xml
- 웹 인터페이스에서 경로를 보려면 Open Java Console 을 클릭하고 AMQ 큐에서 메시지를 확인합니다.