10장. Camel 애플리케이션과 A-MQ 브로커 통합
이 튜토리얼에서는 A-MQ 이미지를 사용하여 빠른 시작을 배포하는 방법을 보여줍니다.
10.1. Spring Boot Camel A-MQ 빠른 시작 빌드 및 배포
이 빠른 시작에서는 Spring Boot 애플리케이션을 AMQ Broker에 연결하고 OpenShift에서 Fuse를 사용하여 두 Camel 경로 간에 JMS 메시징을 사용하는 방법을 보여줍니다.
사전 요구 사항
- OpenShift에 AMQ Broker 배포에 설명된 대로 AMQ Broker가 설치되어 실행 중인지 확인합니다.
- OpenShift가 올바르게 실행 중이고 Fuse 이미지 스트림이 이미 OpenShift에 설치되어 있는지 확인합니다. 관리자용 시작하기를 참조하십시오.
- Maven 리포지토리가 fuse용으로 구성되었는지 확인합니다. Maven 리포지토리 구성을 참조하십시오.
프로세스
OpenShift 서버에 개발자로 로그인합니다.
oc login -u developer -p developer
빠른 시작을 위한 새 프로젝트를 생성합니다. 예를 들면 다음과 같습니다.
oc new-project quickstart
Maven archetype을 사용하여 빠른 시작 프로젝트를 검색합니다.
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-790047-redhat-00004/archetypes-catalog-2.2.0.fuse-sb2-790047-redhat-00004-archetype-catalog.xml -DarchetypeGroupId=org.jboss.fuse.fis.archetypes -DarchetypeArtifactId=spring-boot-camel-amq-archetype -DarchetypeVersion=2.2.0.fuse-sb2-790047-redhat-00004
빠른 시작 디렉터리
fuse713-spring-boot-camel-amq
로 이동합니다.cd fuse713-spring-boot-camel-amq
다음 명령을 실행하여 구성 파일을 AMQ Broker에 적용합니다. 이러한 구성 파일은 admin 권한이 있는 AMQ Broker 사용자와 큐를 생성합니다.
oc login -u admin -p admin oc apply -f src/main/resources/k8s
애플리케이션의 ConfigMap을 생성합니다. 예를 들면 다음과 같습니다.
kind: ConfigMap apiVersion: v1 metadata: name: spring-boot-camel-amq-config namespace: quickstarts data: service.host: 'fuse-broker-amqps-0-svc' service.port.amqp: '5672' service.port.amqps: '5671'
3단계에서 ImageStream을 사용하여 OpenShift 서버에 퀵 스타트를 배포하려면
mvn
명령을 실행합니다.mvn oc:deploy -Popenshift -Djkube.generator.fromMode=istag -Djkube.generator.from=openshift/fuse-java-openshift:1.13
빠른 시작이 성공적으로 실행 중인지 확인하려면 다음을 수행하십시오.
- 브라우저에서 OpenShift 웹 콘솔(https://OPENSHIFT_IP_ADDR, OPENSHIFT_IP_ADDR을 클러스터의 IP 주소로 교체)로 이동하고 인증 정보(예: 사용자 이름 developer 및 암호, developer 사용)로 콘솔에 로그인합니다.
-
왼쪽 패널에서
홈을
확장한 다음상태를
클릭하여openshift
프로젝트의 Project Status 페이지를 확인합니다. -
fuse713-spring-boot-camel-amq
를 클릭하여 퀵스타트에 대한 개요 정보 페이지를 확인합니다. -
왼쪽 패널에서 워크로드를
확장합니다
. -
Pod
를 클릭한 다음fuse713-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 큐에서 메시지를 확인합니다.