25장. 실행 중인 경로 편집
25.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
프로젝트의 라우팅 컨텍스트를 변경하지 않고 실행 중인 경로에 대한 변경 사항을 실험할 수 있습니다.
이렇게 하려면 다음을 수행합니다.
JMX Navigator 보기에서 실행 중인 라우팅 컨텍스트에서 경로 편집 옵션을 활성화합니다.
이렇게 하면 경로 편집기에서 메모리 내 모델이 열립니다.
경로 편집기에서 라우팅 컨텍스트의 메모리 내 모델을 변경합니다. 동시에 Camel 디버거와 모든 기능을 사용하도록 관련 노드에서 중단점을 설정할 수 있습니다.
메모리 내 모델을 편집하여 노드를 추가, 제거 또는 다시 정렬하고, 기존 노드의 속성을 추가하거나 제거하고 기존 노드에 설정된 속성 값을 수정할 수 있습니다. 메모리 내 모델에 대한 변경 사항을 저장해야 실행 중인 컨텍스트를 업데이트하고, 중단점을 설정한 경우 디버그 화면에 결과를 확인해야 합니다.You must save changes made to the in-memory model to update the running context and to see results in the Debug perspective if you set breakpoints.
- JMX Navigator 보기에서 실행 중인 라우팅 컨텍스트에서 메시지를 삭제하거나 메시지를 타이머, ActiveMQ, 파일 또는 기타 연속된 입력 노드에서 가져올 때까지 기다립니다.
- 디버그 관점에서 결과를 평가하고 Camel 디버거를 사용하여 라우팅 컨텍스트에 대한 자세한 정보를 얻습니다.
25.2. 실행 중인 경로 수정 및 결과 평가 링크 복사링크가 클립보드에 복사되었습니다!
- JMX Navigator 보기에서 편집하려는 경로가 포함된 라우팅 컨텍스트를 선택합니다.
선택한 라우팅 컨텍스트를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 열고 경로 편집 을 선택합니다.
경로 편집기는 라우팅 컨텍스트인 Remote CamelContext:<contextId> 의 메모리 내 모델을 열고 컨텍스트 의 모든 경로를 표시합니다. 예를 들면 다음과 같습니다.
참고<contextId
>는 프로젝트의 라우팅 컨텍스트 .xml
파일에서camelContext
요소의 ID입니다. 이 예에서는 Fuse콘텐츠 기반 라우터 기본 제공 템플릿을 기반으로 하는 이 ID는 cbr-example-context
입니다.-
2장. 경로 편집기에서 라우팅 컨텍스트 편집 에 설명된 대로 경로를 편집한 다음 파일
저장 을 선택하여 메모리 내 모델에 대한 변경 사항을 저장하고 실행 중인 라우팅 컨텍스트를 업데이트합니다. - 13장. Breakpoints 설정 에 설명된 대로 관련 노드에서 중단점을 설정합니다.
JMX Navigator 보기에서 실행 중인 라우팅 컨텍스트의 입력 노드에 대한 메시지를 삭제합니다.
프로젝트에 테스트 메시지가 포함되지 않은 경우 22.1절. “경로 추적을 위한 테스트 메시지 생성” 에 설명된 대로 이를 생성할 수 있습니다.
- Yes 를 클릭하여 Debug 관점으로 스위치를 확인합니다.
Camel 디버거에서 일반적으로 수행할 때 중단점을 통해 메시지를 단계합니다( 14장. Camel Debugger 실행참조) 변경 사항이 생성된 결과를 확인합니다.
Camel 디버거는 일반 디버그 모드와 마찬가지로 Edit Routes 모드에서 동일하게 작동하므로 라우팅 컨텍스트를 전달하는 동안 Camel 디버거의 기능을 사용할 수 있습니다.
참고메시지가 라우팅 컨텍스트의 끝에 도달하면 디버거가 일시 중단됩니다. 디버깅을 계속하려면 Fuse Integration 모드로 전환하고 JMX Navigator 보기의 입력 노드에 다른 메시지를 삭제합니다. 이렇게 할 때마다 툴링에서 디버그 관점으로의 전환을 확인하도록 요청합니다.
참고경로 편집 세션 중에 실행 중인 라우팅 컨텍스트에 대한 연결이 손실될 수 있습니다. 이 경우 JMX Navigator 보기에서 로컬 프로세스
maven[xxxx][Disconnected] 와 같은 것을 볼 수 있습니다. 세션을 계속하려면 실행 중인 라우팅 컨텍스트에 다시 연결하고, JMX Navigator 보기에서 선택한 다음 경로 편집 을 다시 선택해야 합니다.
25.3. 경로 편집 세션 종료 링크 복사링크가 클립보드에 복사되었습니다!
-
디버그 화면의 디버그 보기에서 Remote Camel Debug - camelContext--<contextId>--xxxxxxxxxxxx xxxxxxxxxx.xml [Remote Camel Context] 스레드를 선택한 다음 메뉴 모음에서
를 클릭하여 디버깅 세션을 종료합니다.
-
콘솔 보기의 메뉴 모음에서
를 클릭하여 라우팅 컨텍스트를 종료합니다.
-
콘솔 출력을 지우려면 콘솔 보기의 메뉴 모음 에서
를 클릭합니다.
-
Fuse 통합 화면으로 전환하고 경로 편집기에서 Remote CamelContext:<contextId > 탭에서
를 클릭하여 라우팅 컨텍스트 파일의 메모리 내 모델을 종료합니다.