4장. 경로 실행
이 튜토리얼에서는 경로를 실행하여 경로가 소스 끝점에서 싱크 끝점으로 메시지를 올바르게 전송하는지 확인하는 프로세스를 안내합니다.
4.1. 목표
이 튜토리얼에서는 다음 작업을 완료합니다.
- 로컬 Camel 컨텍스트로 경로를 실행합니다(테스트를 설정하지 않았으므로 테스트 제외)
- 경로를 통해 메시지 전송
- 싱크 끝점에서 수신한 메시지를 검사하여 경로가 테스트 메시지를 올바르게 처리했는지 확인합니다.
4.2. 사전 요구 사항
이 튜토리얼을 시작하려면 다음과 같은 ZooOrderApp 프로젝트가 필요합니다.
- 2장. 환경 설정 튜토리얼을 완료합니다.
다음 중 하나:
3장. 경로 정의 튜토리얼을 완료합니다.
또는
-
“리소스 파일 정보” 에 설명된 대로 프로젝트의
블루프린트.xml
파일을 제공된블루프린트Contexts/blueprint1.xml
파일로 교체합니다.
4.3. 경로 실행
경로를 실행하려면 다음을 수행합니다.
-
ZooOrderApp
프로젝트를 엽니다. Project Explorer 에서
ZooOrderApp/Camel Contexts/blueprint.xml
:을 선택합니다.블루프린트.xml
을 마우스 오른쪽 버튼으로 클릭한 다음 Run AsLocal Camel Context (Test 제외)를 선택합니다. 참고대신 Local Camel Context 를 선택하면 툴링에서 제공된 JUnit 테스트에 대해 라우팅 컨텍스트를 자동으로 실행하려고 합니다. JUnit 테스트가 존재하지 않기 때문에 툴링은 테스트 없이 라우팅 컨텍스트를 실행하는 것으로 되돌아갑니다. 9장. JUnit을 사용하여 경로 테스트 튜토리얼에서 JUnit 테스트 케이스를 생성하여 ZooOrderApp 프로젝트를 테스트합니다.
콘솔 패널이 열리고 프로젝트 실행 진행 상황을 반영하는 로그 메시지가 표시됩니다. 처음에 Maven은 로컬 Maven 리포지토리를 업데이트하는 데 필요한 리소스를 다운로드합니다. Maven 다운로드 프로세스에는 몇 분이 걸릴 수 있습니다.
출력 끝에 메시지(다음과 유사)가 표시될 때까지 기다립니다. 이러한 메시지는 경로가 성공적으로 실행되었음을 나타냅니다.
... [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Route: _route1 started and consuming from:Endpoint[file://src/data?noop=true] [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Total 1 routes, of which 1 are started. [Blueprint Event Dispatcher: 1]BlueprintCamelContext INFO Apache Camel 2.21.0.redhat-3 (CamelContext: ...) started in 0.163 seconds [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Apache Camel 2.21.0.redhat-3 (CamelContext: ...) started in 0.918 seconds
- 경로를 종료하려면 콘솔 보기 상단에 있는 를 클릭합니다.
4.4. 경로 확인
경로가 올바르게 실행되었는지 확인하려면 메시지 XML 파일이 소스 폴더(src/data
)에서 대상 폴더(target/messages/received
)로 복사되었는지 확인합니다.
-
Project Explorer 에서
ZooOrderApp
을 선택합니다. - 마우스 오른쪽 버튼으로 클릭하고 새로 고침을 선택합니다.
Project Explorer 에서
target/messages/
폴더를 찾아서 확장하여target/messages/received
폴더에message6.xml
~ message6.xml
이라는 6개의 메시지 파일이 포함되어 있는지 확인합니다.message1.xml
을 두 번 클릭하여 경로 편집기의 디자인 탭에서 연 다음 소스 탭을 선택하여 XML 코드를 확인합니다.<?xml version="1.0" encoding="UTF-8"?> <order> <customer> <name>Bronx Zoo</name> <city>Bronx NY</city> <country>USA</country> </customer> <orderline> <animal>wombat</animal> <quantity>12</quantity> </orderline> </order>
4.5. 다음 단계
5장. 콘텐츠 기반 라우터 추가 튜토리얼에서는 메시지의 콘텐츠를 사용하여 대상을 결정하는 콘텐츠 기반 라우터를 추가합니다.