10장. Red Hat Fuse에 프로젝트 게시

이 튜토리얼에서는 Red Hat Fuse에 프로젝트를 게시하는 프로세스를 안내합니다. Red Hat Fuse Tooling을 실행하는 것과 동일한 시스템에 Red Hat Fuse 인스턴스가 설치되어 있다고 가정합니다.

10.1. 목표

이 튜토리얼에서는 다음 작업을 완료합니다.

  • Red Hat Fuse 서버 정의
  • 게시 옵션 구성
  • Red Hat Fuse 서버를 시작하고 ZooOrderApp 프로젝트를 게시합니다.
  • Red Hat Fuse 서버에 연결
  • ZooOrderApp 프로젝트의 번들이 성공적으로 빌드 및 게시되었는지 확인합니다.
  • ZooOrderApp 프로젝트 제거

10.2. 사전 요구 사항

이 튜토리얼을 시작하기 전에 다음이 필요합니다.

10.3. Red Hat Fuse Server 정의

서버를 정의하려면 다음을 수행합니다.

  1. Fuse 통합 화면을 엽니다.
  2. 아래쪽의 오른쪽 패널에서 Servers 탭을 클릭하여 서버 뷰를 엽니다.
  3. 사용 가능한 서버가 없음을 클릭합니다. 새 서버 정의 페이지를 열려면 이 링크를 클릭하여 새 서버…​ 링크를 생성합니다.

    참고

    이미 정의된 경우 새 서버를 정의하려면 서버 보기 내에서 마우스 오른쪽 버튼으로 클릭한 다음 서버 를 선택합니다.

  4. Red Hat JBoss Middleware 노드를 확장하여 사용 가능한 서버 옵션을 노출합니다.

    tutDefineNewServer
  5. Red Hat Fuse 서버를 선택합니다.
  6. 서버의 호스트 이름(localhost) 및 서버 이름 (Fuse n.n Runtime Server)의 기본값을 수락한 다음 Next 를 클릭하여 런타임 페이지를 엽니다.

    tutFuseRuntimeDef1
    참고

    Fuse가 아직 설치되지 않은 경우 이제 Download and install runtime link를 사용하여 다운로드할 수 있습니다.

    이미 서버를 정의한 경우 툴링은 이 페이지를 건너뛰고 대신 구성 세부 정보 페이지를 표시합니다.

  7. Name 의 기본값을 수락합니다.
  8. 디렉터리 필드 옆에 있는 찾아보기 를 클릭하여 설치로 이동하여 선택합니다.
  9. 실행 환경 옆에 있는 드롭다운 메뉴에서 런타임 JRE를 선택합니다.

    JavaSE-1.8을 선택합니다(권장). 필요한 경우 환경 버튼을 클릭하여 목록에서 선택합니다.

    참고

    Fuse 서버에는 Java 8(권장)이 필요합니다. 실행 환경에 대해 선택하려면 이전에 설치되어 있어야 합니다.

  10. Alternate JRE 옵션을 그대로 둡니다.
  11. 다음을 클릭하여 Fuse Server의 런타임 정의를 저장하고 Fuse 서버 구성 세부 정보 페이지를 엽니다.

    NewServerDetailsTut
  12. SSH 포트의 기본값(8101)을 수락합니다.

    런타임은 SSH 포트를 사용하여 서버의 Karaf 쉘에 연결합니다. 이 기본값이 잘못된 경우 Red Hat Fuse installDir/etc/org.apache.karaf.shell.cfg 파일을 확인하여 올바른 포트 번호를 확인할 수 있습니다.

  13. 사용자 이름에 서버에 로그인하는 데 사용되는 이름을 입력합니다.

    이는 Red Hat Fuse installDir'/etc/users.properties' 파일에 저장된 사용자 이름입니다.

    참고

    /etc/users.properties 파일에서 기본 사용자가 활성화(커밋되지 않음)된 경우 툴링은 사용자 이름과 암호를 기본 사용자 이름과 암호로 자동으로 채웁니다.

    설정되지 않은 경우 user=password,role (예: joe=secret,Administrator) 형식을 사용하여 파일에 하나를 추가하거나 karaf jaas 명령 세트를 사용하여 설정할 수 있습니다.

    • JAAS:realms Cryo stat- Cryostatto 영역 목록
    • JAAS:manage --index 1 kafka -ECDHEto edit the first (server) realm
    • JAAS:useradd <username> <password > Cryostat-ECDHE to add a user and associated password
    • JAAS:roleadd <username> Administrator Cryostat- Cryostatto 새 사용자의 역할을 지정
    • JAAS:update Cryostat-property-새 사용자 정보로 영역을 업데이트

      서버에 대해 jaas 영역을 이미 선택한 경우 JBossFuse:karaf@root>jaas: users명령을 실행하여 사용자 이름을 검색할 수 있습니다.

  14. 암호 에서 사용자 이름에 서버에 로그인하는 데 필요한 암호를 입력합니다.

    이는 Red Hat Fuse의 installDir/etc/users.properties 파일 또는 karaf jaas 명령에 설정된 암호입니다.

  15. 완료를 클릭합니다.

    런타임 서버 [중지, Synchronized]서버 뷰에 나타납니다.

  16. 서버 보기에서 런타임 서버를 확장합니다.

    JBFuseServersView

    Cryostat[Disconnected]Runtime Server [stopped, Synchronized] 항목 아래에 노드로 표시됩니다.

10.4. 게시 옵션 구성

게시 옵션을 사용하면 ZooOrderApp 프로젝트가 실행 중인 서버에 게시되는 방법과 시기를 구성할 수 있습니다.

  • 프로젝트에 대한 변경 사항을 저장하면 즉시 자동으로
  • 프로젝트를 변경하고 저장한 후 구성된 간격으로 자동으로
  • 게시 작업을 선택할 때 수동으로

이 튜토리얼에서는 ZooOrderApp 프로젝트에 변경 사항을 저장할 때 즉시 게시를 구성합니다. 이렇게 하려면 다음을 수행합니다.

  1. Servers 보기에서 Runtime Server [stopped, Synchronized] 항목을 두 번 클릭하여 개요를 표시합니다.
  2. 서버의 개요 페이지에서 게시 섹션을 확장하여 옵션을 노출합니다.

    srvEditorPubOpts

    리소스 변경이 활성화되면 옵션이 자동으로 게시 되는지 확인합니다.

    필요한 경우 게시 간격 값을 변경하여 변경 시 프로젝트 게시 속도를 높이거나 지연할 수 있습니다.

  3. 서버 보기에서 Start the server 을 클릭합니다.
  4. 서버가 시작될 때까지 몇 초 정도 기다립니다. 수행 시 다음을 수행합니다.

    • 터미널 보기에 시작 화면이 표시됩니다.

      tutServerStartShellV
    • 서버 보기가 표시됩니다.

      tutServerStartServerV
    • Cryo stat Navigatorn.n Runtime Server[Disconnected:)가 표시됩니다.

      tutServerStartJMXNav
  5. 서버 보기에서n .n 런타임 서버 [시작] 을 마우스 오른쪽 버튼으로 클릭한 다음 추가 및 제거를 선택하여 추가 및 제거를 선택하여 추가 및 제거 페이지를 엽니다.

    tutAddRemove1

    서버가 시작되면 게시 변경 사항이 즉시 선택됩니다.

  6. ZooOrderApp 을 선택하고 추가 를 클릭하여 Fuse 서버에 할당합니다.

    tutAddRemove2
  7. 완료를 클릭합니다.

    서버 보기에는 다음이 표시되어야 합니다.

    tutCBRrtePublishedSrvV
    • Runtime Server [Started, Synchronized]

      참고

      서버의 경우 동기화 됨은 서버에 게시된 모든 모듈이 로컬 카운터와 동일함을 의미합니다.

    • ZooOrderApp [Started, Synchronized]

      참고

      모듈의 경우 synchronized 는 게시된 모듈이 해당 local counterpart와 동일하다는 것을 의미합니다. 자동 게시가 활성화되므로 ZooOrderApp 프로젝트에 대한 변경 사항은 초 단위로 게시됩니다( 게시 간격의 값에 따라).

    • JMX[Disconnected]

10.5. 런타임 서버에 연결

런타임 서버에 연결한 후 ZooOrderApp 프로젝트의 게시된 요소를 확인하고 상호 작용할 수 있습니다.

  1. 서버 보기에서 Cryostat [Disconnected] 를 두 번 클릭하여 런타임 서버에 연결합니다.
  2. Cryostat Navigator 에서 Camel 폴더를 확장하여 ZooOrderApp 의 요소를 노출합니다.

    tutJMXconnected
  3. Bundles 노드를 클릭하여 런타임 서버에 설치된 번들 목록으로 속성 보기를 채웁니다.

    tutCBRrouteBundleInstall
  4. 검색 필드에 ZooOrderApp을 입력합니다. 해당 번들이 표시됩니다.

    tutCBRrouteBundleSearch
    참고

    또는 터미널 보기에서 osgi:list 명령을 실행하여 서버 런타임에 설치된 생성된 번들 목록을 확인할 수 있습니다. 툴링은 osgi:list 명령으로 표시되는 OSGi 번들에 대해 다른 이름 체계를 사용합니다. 이 경우 명령은 설치된 번들 목록 끝에 표시되는 Camel 블루프린트 빠른 시작을 반환합니다.

    프로젝트의 pom.xml 파일의 < build > 섹션에서 maven-bundle-plugin 항목에 나열된 번들의 심볼릭 이름과 OSGi를 찾을 수 있습니다.

    tutBundleNamesPom

10.6. ZooOrderApp 프로젝트 설치 제거

참고

게시된 리소스를 제거하기 위해 Cryostat 연결을 끊거나 서버를 중지하지 않아도 됩니다.

런타임 서버에서 ZooOrderApp 리소스를 제거하려면 다음을 수행합니다.

  1. 서버 보기에서n .n Runtime Server 를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 엽니다.
  2. 추가 및 제거를 선택합니다.

    tutUnpubCBRroute
  3. Configured 열에서 ZooOrderApp 을 선택한 다음 제거를 클릭하여 ZooOrderApp 리소스를 사용 가능한 열로 이동합니다.
  4. 완료를 클릭합니다.
  5. 서버 보기에서 Cryo stat [Connected]를 마우스 오른쪽 버튼으로 클릭한 다음 새로 고침을 클릭합니다.

    Camel 트리( 연결됨) 아래에 있는 Camel 트리가 사라집니다.

    참고

    Cryo stat Navigator 에서 서버 연결 > n.n Runtime Server[Connected] 아래의 Camel 트리도 사라집니다.

  6. 속성 보기에 번들 페이지가 표시되면 목록의 끝에 아래로 스크롤하여 ZooOrderApp의 번들이 더 이상 나열되지 않는지 확인합니다.