8장. Camel 애플리케이션과 A-MQ 브로커 통합

이 튜토리얼에서는 A-MQ 이미지를 사용하여 빠른 시작을 배포하는 방법을 보여줍니다.

8.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 리포지토리 구성을 참조하십시오.

절차

  1. OpenShift 서버에 개발자로 로그인합니다.

    oc login -u developer -p developer
  2. openshift 프로젝트에 로그인합니다.

    oc project openshift
  3. 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-760024-redhat-00001/archetypes-catalog-2.2.0.fuse-760024-redhat-00001-archetype-catalog.xml \
    -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \
    -DarchetypeArtifactId=spring-boot-camel-amq-archetype \
    -DarchetypeVersion=2.2.0.fuse-760024-redhat-00001
  4. archetype 플러그인은 대화형 모드로 전환되어 나머지 필드를 입력하라는 메시지를 표시합니다.

    Define value for property 'groupId': : org.example.fis
    Define value for property 'artifactId': : fuse76-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: fuse76-spring-boot-camel-amq
    version: 1.0-SNAPSHOT
    package: org.example.fis
    Y: :Y

    메시지가 표시되면 groupId 값으로 org.example.fis 를 입력하고 artifactId 값으로 fuse76-spring-boot-camel-amq 를 입력합니다. 나머지 필드의 기본값을 수락합니다.

  5. 빠른 시작 디렉터리 fuse76-spring-boot-camel-amq 로 이동합니다.

    cd fuse76-spring-boot-camel-amq
  6. 다음 명령을 실행하여 구성 파일을 AMQ Online에 적용합니다. 이러한 구성 파일은 관리자 권한이 있는 AMQ Online 사용자와 큐를 생성합니다.

    oc login -u system:admin
    oc apply -f src/main/resources/k8s
  7. mvn 명령을 실행하여 OpenShift 서버에 퀵스타트를 배포합니다.

    mvn fabric8:deploy -Popenshift
  8. 빠른 시작이 성공적으로 실행 중인지 확인하려면 다음을 수행하십시오.

    1. 브라우저에서 OpenShift 웹 콘솔(https://OPENSHIFT_IP_ADDR, OPENSHIFT_IP_ADDR을 클러스터의 IP 주소로 교체)로 이동하고 인증 정보(예: 사용자 이름 developer 및 암호, developer 사용)로 콘솔에 로그인합니다.
    2. 왼쪽 패널에서 홈을 확장한 다음 상태를 클릭하여 openshift 프로젝트의 Project Status 페이지를 확인합니다.
    3. fuse76-spring-boot-camel-amq 를 클릭하여 퀵 스타트에 대한 개요 정보 페이지를 확인합니다.
    4. 왼쪽 패널에서 워크로드를 확장합니다.
    5. 포드 를 클릭한 다음 fuse76-spring-boot-camel-amq-xxxxx 를 클릭합니다. 빠른 시작에 대한 Pod 세부 정보가 표시됩니다.
    6. 로그를 클릭하여 애플리케이션의 로그를 확인합니다.

      출력에 메시지가 성공적으로 전송됨이 표시됩니다.

      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
  9. 웹 인터페이스에서 경로를 보려면 Open Java Console 을 클릭하고 AMQ 큐에서 메시지를 확인합니다.