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


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

8.1. Spring Boot Camel A-MQ 빠른 시작 빌드 및 배포

이 예제에는 JBoss A-MQ 6 이미지 및 배포 템플릿이 필요합니다. CDK 3.1.1 이상을 사용하는 경우 JBoss A-MQ 6 이미지 및 템플릿이 기본적으로 openshift 네임스페이스에 이미 설치되어 있어야 합니다.

사전 요구 사항

  • OpenShift가 올바르게 실행 중이고 Fuse 이미지 스트림이 이미 OpenShift에 설치되어 있는지 확인합니다. 관리자용 시작하기를 참조하십시오.
  • Maven 리포지토리가 fuse용으로 구성되었는지 확인합니다. Maven 리포지토리 구성을 참조하십시오.

프로세스

  1. 빠른 시작을 빌드하고 배포할 준비가 되었으면 합니다.

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

      oc login -u developer -p developer
    2. 새 프로젝트 amq-quickstart 를 생성합니다.

      oc new-project amq-quickstart
    3. 설치된 A-MQ 6 이미지 및 템플릿의 버전을 확인합니다.

      $ oc get template -n openshift

      amqXX-basic 이라는 템플릿을 찾을 수 있어야 합니다. 여기서 XX 는 Openshift에 설치된 A-MQ 버전입니다.

  2. amq-quickstart 네임스페이스에 A-MQ 6 이미지를 배포합니다(이전 단계에서 발견된 실제 A-MQ 버전으로 XX 를 대체).

    $ oc process openshift//amqXX-basic -p APPLICATION_NAME=broker -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p MQ_QUEUES=test -p MQ_PROTOCOL=amqp -n amq-quickstart | oc create -f -
    참고

    이전 버전의 oc 를 사용하는 경우 이 oc 명령이 실패할 수 있습니다. 이 구문은 oc 버전 3.5.x(Kubernetes 1.5.x 기반)에서 작동합니다.

  3. 메시 끝점을 검색하는 데 필요한 사용자 역할을 추가합니다(Kubernetes REST API 에이전트를 통해).

    $ oc policy add-role-to-user view system:serviceaccount:amq-quickstart:default
  4. 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-740017-redhat-00003/archetypes-catalog-2.2.0.fuse-740017-redhat-00003-archetype-catalog.xml \
    -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \
    -DarchetypeArtifactId=spring-boot-camel-amq-archetype \
    -DarchetypeVersion=2.2.0.fuse-740017-redhat-00003
  5. archetype 플러그인은 대화형 모드로 전환되어 나머지 필드를 입력하라는 메시지를 표시합니다.

    Define value for property 'groupId': : org.example.fis
    Define value for property 'artifactId': : fuse74-spring-boot-camel-amq
    Define value for property 'version':  1.0-SNAPSHOT: :
    Define value for property 'package':  org.example.fis: :
    [INFO] Using property: spring-boot-version = 1.5.17.RELEASE
    Confirm properties configuration:
    groupId: org.example.fis
    artifactId: fuse74-spring-boot-camel-amq
    version: 1.0-SNAPSHOT
    package: org.example.fis
    spring-boot-version: 1.5.17.RELEASE
     Y: :

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

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

    $ cd fuse74-spring-boot-camel-amq
  7. ACTIVEMQ_BROKER_USERNAMEACTIVEMQ_BROKER_PASSWORD 환경 변수를 설정하여 브로커에 로그인할 클라이언트 자격 증명을 사용자 지정합니다. fuse74-spring-boot-camel-amq 프로젝트에서 다음과 같이 src/main/fabric8/deployment.yml 파일을 편집합니다.

    spec:
      template:
        spec:
          containers:
            -
              resources:
                requests:
                  cpu: "0.2"
    #              memory: 256Mi
                limits:
                  cpu: "1.0"
    #              memory: 256Mi
              env:
              - name: AMQP_HOST
                value: broker-amq-amqp
              - name: SPRING_APPLICATION_JSON
                value: '{"server":{"undertow":{"io-threads":1, "worker-threads":2 }}}'
              - name: AMQP_USERNAME
                value: admin
              - name: AMQP_PASSWORD
                value: admin
  8. mvn 명령을 실행하여 OpenShift 서버에 퀵스타트를 배포합니다.

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

    1. OpenShift 콘솔로 이동합니다.
    2. amq-quickstart 프로젝트를 선택합니다.
    3. 애플리케이션을 클릭합니다.
    4. 포드 를 선택합니다.
    5. fis-spring-boot-camel-am-1-xxxxx 를 클릭합니다.
    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
  10. 웹 인터페이스에서 경로를 보려면 Open Java Console 을 클릭하고 A-MQ 대기열에서 메시지를 확인합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.