13장. JMS 브로커를 사용하여 배포


초록

Fuse 7.8은 기본 내부 브로커와 함께 제공되지 않지만 4개의 외부 JMS 브로커와 상호 작용하도록 설계되었습니다.

Fuse 7.8 컨테이너에는 지원되는 외부 브로커에 대한 브로커 클라이언트 라이브러리가 포함되어 있습니다.

Fuse 7.8 의 메시징에 사용할 수 있는 외부 브로커, 클라이언트 및 Camel 구성 요소 조합에 대한 자세한 내용은 지원 구성을 참조하십시오.

13.1. AMQ 7 빠른 시작

AMQ 7 브로커를 사용하여 앱의 설정 및 배포를 설명하기 위해 빠른 시작이 제공됩니다.

빠른 시작 다운로드

Fuse 소프트웨어 다운로드 페이지에서 모든 빠른 시작을 설치할 수 있습니다.

다운로드한 zip 파일의 내용을 로컬 폴더(예: quickstarts 라는 폴더 )로 추출합니다.

퀵스타트 설정

  1. quickstarts/camel/camel-jms 폴더로 이동합니다.
  2. mvn clean install 을 입력하여 퀵스타트를 빌드합니다.
  3. org.ops4j.connectionfactory-amq7.cfg 파일을 /camel/camel-jms/src/main 디렉터리에서 Fuse 설치의 FUSE_HOME/etc 디렉토리로 복사합니다. 올바른 브로커 URL 및 인증 정보에 대한 콘텐츠를 확인합니다. 기본적으로 브로커 URL은 AMQ 7의 CORE 프로토콜에 따라 tcp://localhost:61616으로 설정됩니다. 인증 정보는 admin/admin으로 설정됩니다. 이러한 세부 정보를 외부 브로커에 맞게 변경하십시오.
  4. Windows에서 ./bin/fuse 를 실행하거나 Linux에서 ./bin/fuse 를 실행하여 Fuse를 시작합니다.
  5. Fuse 콘솔에서 다음 명령을 입력합니다.

    feature:install pax-jms-pool artemis-jms-client camel-blueprint camel-jms
    
    install -s mvn:org.jboss.fuse.quickstarts/camel-jms/${project.version}

    번들을 배포할 때 Fuse에서 번들 ID를 제공합니다.

  6. log:display 를 입력하여 시작 로그 정보를 확인합니다. 번들이 성공적으로 배포되었는지 확인합니다.
12:13:50.445 INFO [Blueprint Event Dispatcher: 1] Attempting to start Camel Context jms-example-context
12:13:50.446 INFO [Blueprint Event Dispatcher: 1] Apache Camel 2.21.0.fuse-000030 (CamelContext: jms-example-context) is starting
12:13:50.446 INFO [Blueprint Event Dispatcher: 1] JMX is enabled
12:13:50.528 INFO [Blueprint Event Dispatcher: 1] StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
12:13:50.553 INFO [Blueprint Event Dispatcher: 1] Route: file-to-jms-route started and consuming from: file://work/jms/input
12:13:50.555 INFO [Blueprint Event Dispatcher: 1] Route: jms-cbr-route started and consuming from: jms://queue:incomingOrders?transacted=true
12:13:50.556 INFO [Blueprint Event Dispatcher: 1] Total 2 routes, of which 2 are started

퀵스타트 실행

  1. Camel 경로가 실행되면 /camel/camel-jms/work/jms/input 디렉터리가 생성됩니다. /camel /camel-jms/src/main/data 디렉토리에서 파일을 / camel/camel-jms/work/jms/input 디렉토리로 복사합니다.
  2. …​/src/main/data 파일에 복사된 파일은 주문 파일입니다. 1분 정도 기다린 다음 /camel/camel-jms/work/jms/output 디렉터리를 확인합니다. 파일은 대상 국가에 따라 별도의 디렉터리로 정렬됩니다.

    • order1.xml,order2.xmlorder4.xml/camel/camel-jms/work/jms/output/others/
    • /camel/camel-jms/work/jms/output/usorder3.xmlorder5.xml
    • /camel/camel-jms/work/jms/output/frorder6.xml
  3. log:display 를 사용하여 로그 메시지를 확인합니다.
Receiving order order1.xml
Sending order order1.xml to another country
Done processing order1.xml
  1. Camel 명령은 컨텍스트에 대한 세부 정보를 표시합니다.

컨텍스트 세부 정보를 표시하려면 camel:context-list 를 사용합니다.

Context               Status              Total #       Failed #     Inflight #   Uptime
-------               ------              -------       --------     ----------   ------
jms-example-context   Started                  12              0              0   3 minutes

context에 Camel 경로를 표시하려면 camel:route-list 를 사용합니다.

Context               Route               Status              Total #       Failed #     Inflight #   Uptime
-------               -----               ------              -------       --------     ----------   ------
jms-example-context   file-to-jms-route   Started                   6              0              0   3 minutes
jms-example-context   jms-cbr-route       Started                   6              0              0   3 minutes

교환 통계를 표시하려면 camel:route-info 를 사용합니다.

karaf@root()> camel:route-info jms-cbr-route jms-example-context
Camel Route jms-cbr-route
    Camel Context: jms-example-context
    State: Started
    State: Started

Statistics
    Exchanges Total: 6
    Exchanges Completed: 6
    Exchanges Failed: 0
    Exchanges Inflight: 0
    Min Processing Time: 2 ms
    Max Processing Time: 12 ms
    Mean Processing Time: 4 ms
    Total Processing Time: 29 ms
    Last Processing Time: 4 ms
    Delta Processing Time: 1 ms
    Start Statistics Date: 2018-01-30 12:13:50
    Reset Statistics Date: 2018-01-30 12:13:50
    First Exchange Date: 2018-01-30 12:19:47
    Last Exchange Date: 2018-01-30 12:19:47
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.