2.6. 글로벌 끝점, 데이터 형식 또는 빈 추가

2.6.1. 개요

일부 경로는 글로벌 끝점, 글로벌 데이터 형식 또는 글로벌 빈에서 제공하는 공유 구성에 의존합니다. 경로 편집기의 구성 탭을 사용하여 프로젝트의 라우팅 컨텍스트 파일에 글로벌 요소를 추가할 수 있습니다.

라우팅 컨텍스트 파일에 글로벌 요소를 추가하려면 다음을 수행합니다.

  1. 경로 편집기에서 라우팅 컨텍스트 파일을 엽니다.
  2. 경로 편집기 하단에서 구성 탭을 클릭하여 글로벌 구성이 있는 경우 표시됩니다.

    ConfigurationsView
  3. 추가 를 클릭하여 새 글로벌 요소 만들기 대화 상자를 엽니다.

    CnfigsVAddButton

    옵션은 다음과 같습니다.

2.6.2. 글로벌 끝점 추가

  1. 새 전역 요소 만들기 대화 상자에서 끝점을 선택하고 확인을 클릭하여 구성 요소 선택 대화 상자를 엽니다.In the Create a new global element dialog, select Endpoint and click OK to open the Select component dialog.

    CnfigsVSelectCamComponent1
    참고

    기본적으로 구성 요소 선택 대화 상자가 열리고 Show only pallets 구성 요소 옵션이 활성화됩니다. 사용 가능한 모든 구성 요소를 보려면 이 옵션을 선택 해제하십시오.

    참고

    범주별로 그룹화된 옵션은 유형별로 구성 요소를 그룹화합니다.

    CnfigsVSelectCamComponentGrouped
  2. 대화 상자에서 컨텍스트 파일에 추가할 구성 요소를 찾아서 선택한 다음 Id 필드에 ID를 입력합니다.

    CnfigsVCamComponentSelected

    이 예제에서는 JMS 구성 요소가 선택되고 myJMSId 값입니다.

  3. 완료를 클릭합니다.

    CnfigsVmyEndptAdded2

    이제 필요에 따라 속성 보기에서 속성을 설정할 수 있습니다.

    툴링은 [globalEndpt Select] 구성 요소 선택 의 구성 요소의 Id 필드에 입력한 값을 자동으로 입력합니다. 이 예제에서 Camel은 구성 요소의 스키마(이 경우 jms:)로 시작하는 uri (필수) 필드를 빌드하지만 구성 요소의 uri 를 완료하려면 destinationNamedestinationType 을 지정해야 합니다.

    참고

    JMS 구성 요소의 경우 대상 유형은 기본적으로 queue 로 설정됩니다. 이 기본값은 대상 이름 (필수) 필드에 값을 입력할 때까지 세부 정보 페이지의 uri 필드에 표시되지 않습니다.

  4. 구성 요소의 uri를 완료하려면 고급 을 클릭합니다.
  5. 대상 이름 필드에 대상 끝점의 이름(예: Flistener.BAR )을 입력합니다. 대상 유형 필드에 끝점 대상의 유형(예: 큐, 주제 ,temp: queue 또는 temp:topic )을 입력합니다.

    JMSCompAdvanPathProp

    속성 보기의 세부 정보고급 탭에서는 특정 구성 요소를 구성하는 데 사용할 수 있는 모든 속성에 액세스할 수 있습니다.

  6. 소비자(고급) 탭을 클릭합니다.

    JMSCompConsumerAdvanProps2

    속성 로드 및 노출 리스너 세션 속성을 활성화합니다.

  7. 경로 편집기에서 소스 탭으로 전환하여 첫 번째 경로 요소 앞에 툴이 컨텍스트 파일(이 예제에서는 구성된 JMS 끝점)에 추가된 코드를 확인합니다.

    CnfigsEndptSourceView
  8. 완료되면 메뉴 모음에서 파일저장을 선택하여 변경 사항을 저장합니다.

2.6.3. 글로벌 데이터 형식 추가

  1. Create a new global element 대화 상자에서 데이터 형식을 선택하고 OK 를 클릭하여 글로벌 데이터 형식 만들기 대화 상자를 엽니다.

    CnfigsVCreateGlobalDF1

    데이터 형식은 기본적으로 사용 가능한 목록의 맨 위에 있는 형식인 avro 입니다.

  2. 데이터 형식 드롭다운 메뉴를 열고 원하는 형식을 선택합니다(예: xmljson ).
  3. Id 필드에 형식의 이름을 입력합니다(예: myDataFormat).

    CnfigsVCreateGlobalDF2
  4. 완료를 클릭합니다.

    CnfigsVEditGlobalDFprops1
  5. 속성 보기에서 프로젝트에 속성 값을 적절하게 설정합니다. 예를 들면 다음과 같습니다.

    CnfigsVEditGlobalDFprops2
  6. 경로 편집기에서 소스 탭을 클릭하여 툴이 컨텍스트 파일에 추가된 코드를 확인합니다. 이 예에서는 구성된 xmljson 데이터 형식이 첫 번째 route 요소 앞에 있습니다.

    CnfigsVGlobalDFSourceV
  7. 완료되면 메뉴 모음에서 파일저장을 선택하여 변경 사항을 저장합니다.

2.6.4. 글로벌 8080 추가

글로벌VLAN은 경로의 모든 위치에서 참조할 수 있는 라우팅 외부 Ignition 정의를 활성화합니다. 팔레트에서 경로로 Cryostat 구성 요소를 복사하는 경우 Properties 보기의 Ref 드롭다운에서 정의된 글로벌 빈을 찾을 수 있습니다. Cryostat 구성 요소를 참조할 글로벌 8080 을 선택합니다.

글로벌 8080 요소를 추가하려면 다음을 수행합니다.

  1. Create a new global element 창에서 Cryostat를 선택하고 OK 를 클릭하여 Cryostat 정의 대화 상자를 엽니다.

    CnfigsVCreateGlobalBean1
  2. Id 필드에 글로벌 빈의 ID를 입력합니다(예: TransformBean ). ID는 구성에서 고유해야 합니다.
  3. Cryostat 클래스 또는 팩토리 빈을 식별합니다.

    팩토리 빈을 지정하려면 팩토리 클래스를 사용하여 다른 글로벌 빈을 이미 추가해야 합니다. 그런 다음 해당 글로벌 8080을 선택하여 글로벌 Cryostat 팩토리로 선언할 수 있습니다. Quarkus 팩토리 클래스의 인스턴스 중 하나는 런타임에 있습니다. 다른 글로벌 빈은 해당 클래스에서 팩토리 메서드를 호출하여 다른 클래스의 자체 인스턴스를 만들 수 있습니다.

    클래스 필드를 채우려면 다음 중 하나를 수행합니다.

    • 프로젝트에 있거나 참조된 프로젝트에 있는 클래스의 이름을 입력합니다.
    • …​ 을 클릭하여 프로젝트 또는 참조된 프로젝트에 있는 클래스로 이동하여 선택합니다.
    • + 를 클릭하여 새 빈 클래스를 정의하고 글로벌 8080으로 추가합니다.
  4. 추가하려는 8080에 인수가 하나 이상 필요한 경우 각 인수에 대해 Constructor Arguments 섹션에서 다음을 수행합니다.

    1. 추가를 클릭합니다.
    2. 선택적으로 Type 필드에 인수 유형을 입력합니다. 기본값은 java.lang.String 입니다.
    3. 필드에 인수 값을 입력합니다.
    4. OK를 클릭합니다.
  5. 선택적으로 글로벌 빈에 액세스할 수 있는 속성을 하나 이상 지정합니다. Cryo stat 속성 섹션에서 각 속성에 대해 다음을 수행합니다.

    1. 추가를 클릭합니다.
    2. 이름 필드에 속성의 이름을 입력합니다.
    3. 필드에 속성 값을 입력합니다.
    4. OK를 클릭합니다.
  6. 마침 을 클릭하여 글로벌 빈을 구성에 추가합니다. 지정한 글로벌 빈 ID가 구성 탭에 표시됩니다. 예를 들면 다음과 같습니다.

    CnfigsBeanInList
  7. Source 탭으로 전환하여 툴링이 컨텍스트 파일에 추가된 8080 요소를 확인합니다. 예를 들면 다음과 같습니다.

    CnfigsBeanSourceV
  8. 구성 탭을 클릭하여 글로벌 요소 목록으로 돌아가서 글로벌 빈을 선택하여 속성 보기에 표준 속성을 표시합니다. 예를 들면 다음과 같습니다.

    CnfigsBeanProperties
    참고

    글로벌 빈을 추가할 때 지정한 속성을 보거나 편집하려면 Configurations 탭에서 8080을 선택한 다음 편집을 클릭합니다.

  9. 필요에 따라 글로벌VLAN 속성을 설정합니다.

    • depends-on 은 이 글로벌 빈보다 먼저 생성해야 하는 빈을 식별하는 데 사용할 수 있는 문자열입니다. metrics에 종속된 의 ID(이름)를 지정합니다. 예를 들어 TransformBean 을 추가하고 Depends-onChangeCaseBean 으로 설정하면 ChangeCaseBean 을 생성해야 하며 TransformBean 을 생성할 수 있습니다. 빈이 파괴되면 TransformBean 이 먼저 파괴됩니다.
    • factory-method 는 글로벌 8080이 팩토리 클래스인 경우에만 유용합니다. 이 경우 빈이 참조될 때 호출할 정적 팩토리 메서드를 지정하거나 선택합니다.
    • 범위는 싱글톤 또는 프로토타입 입니다. 기본 싱글톤 은 빈이 호출될 때마다 Camel이 동일한 빈 인스턴스를 사용함을 나타냅니다. 빈이 호출될 때마다 Camel이 새 빈 인스턴스를 생성하도록 할 때 프로토타입 을 지정합니다.
    • init-method 를 사용하면 Quarkus를 참조할 때 호출할 빈의 init() 메서드를 지정하거나 선택할 수 있습니다.
    • destroy-method 를 사용하면 빈에 의해 수행된 처리를 수행할 때 호출할 빈의 destory 메서드를 지정하거나 선택할 수 있습니다.
  10. 완료되면 메뉴 모음에서 파일저장을 선택하여 변경 사항을 저장합니다.

2.6.5. 글로벌 요소 삭제

이 절차는 이전에 라우팅 컨텍스트에 추가된 엔드포인트, 데이터 형식 또는 8080을 제거하는 것과 동일합니다.

참고

글로벌 요소를 삭제하기 위해 실행 취소 작업을 수행할 수 없습니다. 구성에 유지하려는 전역 요소를 실수로 삭제하면 컨텍스트 파일을 저장하지 않고 닫아 삭제를 취소할 수 있습니다. 이것이 가능하지 않으면 의도치 않게 삭제된 글로벌 요소를 다시 추가합니다.

  1. 구성 탭에서 삭제할 전역 요소를 선택합니다.

    예를 들어 “글로벌 데이터 형식 추가” 에 추가된 data 형식 myDataFormat 을 삭제한다고 가정합니다.

    CnfigsVDFSelectDelete
  2. 삭제를 클릭합니다.

    글로벌 요소 myDataFormatConfigurations 탭에서 사라집니다.

  3. Source 탭으로 전환하여 툴링이 라우팅 컨텍스트에서 XML 코드를 제거했는지 확인합니다.

    CnfigsDelDFSourceV
  4. 완료되면 메뉴 모음에서 파일저장을 선택하여 변경 사항을 저장합니다.

2.6.6. 글로벌 요소 편집

이 절차는 라우팅 컨텍스트에 추가한 엔드포인트, 데이터 형식 또는 8080의 속성을 수정할지 여부와 동일합니다.

일반적으로 글로벌 요소의 ID를 변경하지 않아야 합니다. 글로벌 요소가 실행 중인 경로에서 이미 사용 중인 경우 ID를 변경하면 글로벌 요소에 대한 참조가 손상될 수 있습니다.

  1. 구성 탭에서 편집할 전역 요소를 선택합니다.

    예를 들어 “글로벌 끝점 추가” 에 추가된 끝점 myJMS 를 편집하려면 다음을 선택합니다.

    CnfigsVEndptEditSelect
  2. 편집을 클릭합니다.

    CnfigsVEndptClickEdit

    속성 뷰에서 필요에 따라 요소의 속성을 수정합니다.In the Properties view, modify the element's properties as needed.

  3. 예를 들어 고급소비자 탭을 열고 Concurrent Consumers 값을 2 로 변경합니다.

    CnfigsEditEndpntConcurConsume2
  4. 경로 편집기에서 소스 탭을 클릭하고 툴에서 속성 concurrentConsumers=2 가 라우팅 컨텍스트에 추가되었는지 확인합니다.

    CnfigsVEndptEditSourceV
  5. 완료되면 메뉴 모음에서 파일저장을 선택하여 변경 사항을 저장합니다.