15.2. 원격으로 실행 중인 라우팅 컨텍스트 디버깅


참고

원격 호스트에 배포된 Fuse 서버는 CodeReady Studio의 서버 보기에 등록할 수 없습니다. 따라서 CodeReady Studio 내에서 원격 Fuse 서버를 시작, 자동 재배포 또는 중지할 수 없습니다. 대신 CodeReady Studio 외부에서 디버그 모드에서 Fuse를 시작해야 합니다.

15.2.1. 사전 요구 사항

  • 다음 방법 중 하나로 Fuse 런타임에 액세스할 수 있습니다.

    • 로컬 시스템에 Fuse 서버를 설치하고 Fuse_HOME/etc/users.properties 파일을 편집하여 admin 사용자를 활성화합니다. 자세한 내용은 28.1절. “서버 추가”의 내용을 참조하십시오.
    • 원격 시스템에 설치된 Fuse 서버에 액세스할 수 있어야 합니다. admin 사용자의 자격 증명을 포함하여 연결 세부 정보를 알고 있어야 합니다.
  • 새 Fuse 통합 프로젝트를 생성합니다. “프로젝트 이름 및 작업 공간 지정” 를 참조하십시오. Fuse Integration 프로젝트에서 다음을 수행합니다.

    • Fuse 서버 런타임 버전과 일치하는 Camel 버전을 선택합니다.
    • 빈 블루프린트 DSL 프로젝트를 생성하거나 블루프린트 DSL과 함께 Fuse 사전 정의 템플릿 중 하나를 사용합니다.

      참고

      요구 사항은 아니지만 프로젝트의 라우팅 컨텍스트를 로컬 Camel 컨텍스트로 성공적으로 실행할 수 있는지 확인하는 것이 좋습니다. 자세한 내용은 6.1절. “로컬 Camel 컨텍스트로 경로 실행”의 내용을 참조하십시오.

      참고

      “원격 디버깅 설정 및 시작” 의 예제는 Fuse Content Based Router 사전 정의된 템플릿과 Red Hat Fuse 6.3.0 런타임을 기반으로 합니다.

  • Red Hat CodeReady Studio:

15.2.2. 원격 디버깅 설정 및 시작

Fuse 및 서버에 배포된 프로젝트를 중지하면 다음과 같이 원격 디버깅을 설정하고 시작해야 합니다.

  • Red Hat CodeReady Studio 외부에서 디버그 모드에서 Fuse를 시작합니다.

    원격 호스트에 배포된 Fuse 서버는 CodeReady Studio의 서버 뷰에 등록할 수 없으므로 CodeReady Studio 외부에서 Fuse를 디버그 모드에서 시작해야 합니다.

  • CodeReady Studio에서 경로 편집기에서 열려 있는 프로젝트의 라우팅 컨텍스트의 노드에서 Cryostat를 설정합니다.
  • 원격 Camel 컨텍스트 디버그 구성을 생성하고 실행합니다.
  • Cryostat Navigator 보기에서 Fuse 런타임에 연결합니다.
  • Fuse 런타임 내에서 실행되는 Camel 경로의 입력 노드에 있는 Cryostat Navigator 보기에 테스트 메시지를 삭제합니다.
  • 라우팅 디버깅을 위해 Camel 디버거의 툴을 사용합니다.

15.2.3. 절차

원격 디버깅을 설정하고 시작하려면 다음을 수행합니다.

  1. Red Hat CodeReady Studio 외부에서 터미널을 열고 입력합니다.

    $ [FUSE_HOME]/bin/fuse debug
  2. Fuse 시작 화면이 표시될 때까지 기다린 다음 CodeReady Studio의 Fuse Integration 관점으로 돌아갑니다.
  3. 툴링의 경로 편집기에서 디자인 탭에서 프로젝트의 라우팅 컨텍스트가 열려 있는 상태에서 관심 있는 노드에 Cryostat를 설정합니다. 자세한 내용은 14장. breakpoints 설정의 내용을 참조하십시오.
  4. 프로젝트 Explorer 보기에서 프로젝트 의 루트를 마우스 오른쪽 버튼으로 클릭하고 Debug As Debug Configurations 를 선택하여 디버그 구성 마법사를 엽니다.

    NewRemoteDBLaunchCnfg
  5. 구성 유형 창에서 원격 Camel 컨텍스트 또는 원격 Camel 컨텍스트 및 Java 를 선택한 다음 New Configuration 을 클릭합니다.

    CCJdbNewLaunchCnfg

    Remote Camel ContextRemote Camel Context 및 Java 옵션 모두에 대해 Camel 및 Cryostat 탭에 구성 세부 정보를 지정해야 합니다.

    Remote Camel Context 및 Java 옵션의 경우 Connect 탭에서 구성 세부 정보도 지정해야 합니다.

    참고

    표준 Eclipse Java 디버깅 툴을 사용하여 디버깅할 Java 코드가 없는 경우 Remote Camel Context 옵션을 선택합니다.

  6. 이름 필드에 새 시작 구성의 이름을 입력합니다.
  7. Camel 탭에서 찾아보기 를 클릭하여 Open Resources 대화 상자에서 프로젝트의 라우팅 컨텍스트 .xml 파일을 찾습니다.

    CCdbSelCamelCntxt
    참고

    항목 일치 창에서 파일을 선택하면 툴에 창 하단에 프로젝트 루트를 기준으로 파일의 위치가 표시됩니다.

  8. 항목 일치 창에서 목록에서 프로젝트의 라우팅 컨텍스트 파일을 선택한 다음 확인을 클릭합니다.

    툴링은 Select Camel Context file 필드에 파일의 경로를 삽입합니다.

    CCJDbugCamelTabNew
  9. Cryostat 탭 클릭합니다.

    RemoteDBJMXtabDefaults

    다음과 같이 Cryostat 연결 세부 정보를 편집합니다.

    • Cryostat Uri Cryostat- Cryostatchange :9011/jmxrmi to :1099/karaf-root

      Fuse 서버가 원격 호스트에서 실행 중인 경우 localhost 를 원격 호스트의 DNS 이름 또는 IP 주소로 바꿉니다.

    • Cryostat 사용자 Cryostat- Cryostat 입력 관리자.
    • Cryostat 암호 Cryostat- Cryostatenter admin.

      중요

      Cryostat 사용자 및 Cryostat 암호에 표시된 값은 Fuse admin 사용자 기본값이며 Fuse_HOME/etc/users.properties 파일에 저장됩니다. 설정이 다른 경우 해당 값과 관련된 값을 입력합니다.

      Remote Camel Context 디버그 시작 구성을 생성하는 경우 작업이 수행됩니다. [debugCfgGo] 으로 건너뜁니다.

  10. 연결 탭을 클릭합니다.

    RemoteDBConnectTabDefaults

    포트 값을 8000 에서 5005 로 변경합니다. 다른 속성을 그대로 둡니다.

  11. 클릭한 다음 디버그 를 클릭합니다.
  12. Cryo stat Navigator 보기에서 Fuse [xxx] [Disconnected] 를 두 번 클릭하여 연결한 다음 해당 트리를 확장합니다.
  13. Project Explorer 보기에서 src/test/resources/data 에서 테스트 메시지를 드래그하여 Cryostat Navigator 보기의 cbr-example-context/Endpoints/file/work/cbr/input 폴더에 놓습니다.

    메시지가 라우팅 컨텍스트에서 설정된 첫 번째 Cryostat에 도달하면 툴링은 디버그 화면으로 전환하도록 요청합니다.

    DBCnfrmSwitchToDBView
  14. 예를 클릭합니다.

    RemoteDBPerspOpen

    이 시점에서 Camel 디버거의 툴을 사용하여 라우팅 컨텍스트를 디버깅할 수 있습니다.

    참고

    원격 디버깅 세션에서는 콘솔 보기에 로그 출력이 표시되지 않습니다.

    참고

    하나의 메시지가 라우팅 컨텍스트의 끝에 도달하면 디버거가 일시 중단됩니다. 디버깅을 계속하려면 Fuse Integration 관점으로 다시 전환하고 Cryostat Navigator 보기의 입력 노드에 다른 메시지를 삭제합니다. 이렇게 할 때마다 툴링은 디버그 화면으로 전환을 요청합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.