API 엑시트 구성

API 엑시트는 MQI 호출 전후에 즉시 실행할 수 있는 코드 모듈인 .dll 파일입니다.

이 태스크 정보

IBM® MQ가 프로그램에서 API 시작점 중 하나로의 호출을 수신하는 경우 IBM MQ가 API 엑시트를 호출합니다. API 엑시트는 엑시트를 구성한 방법에 따라 MQI 실행 이전 또는 이후에 실행됩니다.

호출할 엑시트를 구성하지 않거나 하나 또는 다중으로 구성할 수 있고 다중 엑시트의 경우에는 호출 순서를 구성할 수 있습니다. WindowsLinux®(x86 및 x86-64 플랫폼)에서 IBM MQ 탐색기를 사용하여 API 엑시트를 구성할 수 있습니다. 구성 세부사항은 .ini 파일에 저장되어 있습니다.

  1. IBM MQ 탐색기에서 API 엑시트를 구성하십시오.
  2. 로컬 API 엑시트에서 공용 API 엑시트를 대체하십시오.
API 엑시트 정의에는 세 가지 유형이 있습니다.
공용(ApiExitCommon)
컴퓨터당 한 세트의 정의입니다. 큐 관리자가 시작되고 정의된 API 엑시트가 있는 경우, 읽혀져서 큐 관리자에 적용됩니다. IBM MQ 특성 대화 상자에서 공용 API 엑시트를 구성하십시오. 공용 엑시트가 각 로컬 큐 관리자의 로컬 API 엑시트 테이블에 표시됩니다.
템플리트(ApiExitTemplate)
컴퓨터당 한 세트의 정의입니다. 큐 관리자가 작성되고 정의된 API 엑시트가 있는 경우, 새로 작성된 큐 관리자에 로컬 엑시트로 복사됩니다. IBM MQ 특성 대화 상자에서 템플리트 API 엑시트를 구성하십시오.
로컬(ApiExitLocal)
큐 관리자당 한 세트의 정의입니다. 큐 관리자가 시작되고 정의된 API 엑시트가 있는 경우, 이름 속성이 동일하고 대체가 지정되어 있으면 공용 엑시트를 대체합니다. 공용 API 엑시트가 대체되는 경우에는 선택적 데이터 속성에 지정된 값이 들어있다 하더라도 공용 정의의 모든 필드가 저장되지 않습니다. 큐 관리자의 특성 대화 상자에서 로컬 API 엑시트를 구성하십시오.
IBM MQ 및 큐 관리자 특성 대화 상자에서 API 엑시트를 구성하는 경우 속성 값이 Windows 레지스트리 또는 구성 파일의 ApiExitCommon, ApiExitTemplate, ApiExitLocal 스탠자에 추가됩니다.
표 1. API 엑시트 속성
속성 의미 스탠자 키
이름 MQAXP 구조의 ExitInfoName 필드의 API 엑시트로 전달될 API 엑시트의 설명 이름을 지정합니다. 이 이름은 고유해야 하며 48자로 제한되고 IBM MQ 오브젝트의 이름(예: 큐 이름)으로 유효한 문자만이 들어 있어야 합니다. 이름
유형 엑시트 유형을 지정합니다(common, template, local 또는 override). (별도 스탠자 키가 아님)
순서 이 속성은 이 API 엑시트가 다른 API 엑시트와의 비교에서 호출될 순서를 정의하는 부호가 없는 숫자값입니다. 낮은 순서 번호를 가진 API는 다른 상위 순서 번호를 가진 API 엑시트 이전에 호출됩니다. 동일한 순서 번호를 가진 다른 API 엑시트가 호출되는 순서는 정의되지 않습니다. 큐 관리자용으로 정의된 API 엑시트의 순서 번호에서 간격이 있는 것은 유효한 값입니다. 순서
모듈 API 엑시트의 코드가 들어 있는 모듈을 지정합니다. 이 필드에는 있는 그대로 사용되는 모듈의 전체 경로 이름이 들어 있습니다. 이 필드에 모듈 이름만이 들어 있는 경우, 모듈은 채널 엑시트와 동일한 메소드를 사용하여 즉, 큐 관리자 특성 대화 상자의 엑시트 페이지에서 엑시트 기본 경로 필드의 값을 사용하여 위치 지정됩니다. 모듈
함수 API 엑시트의 코드가 들어 있는 모듈로의 함수 시작점 이름을 지정합니다. 이 시작점은 MQ_INIT_EXIT 함수입니다. 이 필드의 길이는 MQ_EXIT_NAME_LENGTH로 제한됩니다. 함수
데이터 이 속성이 지정되면, 선두 문자 및 후미 문자 공백이 제거되며, 나머지 문자열은 32자로 잘려 그 결과 MQAXP 구조의 ExitData 필드의 엑시트로 전달됩니다. 이 속성이 지정되지 않으면, 기본 값 32 공백이 MQAXP 구조의 ExitData 필드의 엑시트로 전달됩니다. 데이터

프로시저

  • [옵션 1] IBM MQ 탐색기에서 API 엑시트를 구성하십시오.
    1. 관련된 특성 대화 상자를 여십시오.
    2. 엑시트 페이지에서 추가...를 누르십시오. API 엑시트 추가 대화 상자가 열립니다.
    3. API 엑시트 추가 대화 상자의 필드에 필수 정보를 입력하십시오.
    4. 확인을 클릭하여서 엑시트를 작성하고 API 엑시트 추가 대화 상자를 닫으십시오.
    새 API 엑시트의 특성이 엑시트 페이지의 테이블에 표시됩니다.
  • [옵션 2] 로컬 API 엑시트에서 공용 API 엑시트를 대체하십시오.

    로컬 API 엑시트가 공용 엑시트와 동일한 이름의 큐 관리자에서 정의된 경우, 공용 엑시트가 대체됩니다. 즉, 공용 엑시트가 호출되지 않고 대신 대체하는 로컬 엑시트가 호출됩니다. 우발적인 대체를 막기 위해 대체를 구성할 때 사용자 인터페이스로 계획적인 조치를 취할 수 있습니다. 예를 들어, 기존 엑시트와 동일한 이름으로 새 엑시트를 추가하지 않고 엑시트의 이름을 기존 엑시트와 동일하게 변경하지 않습니다.그러나 공용 API 엑시트가 사용되지 않고 로컬 API 엑시트가 대신 사용되도록 로컬 API 엑시트를 큐 관리자에 추가하고자 할 수 있습니다. 이 경우 공용 API 엑시트를 로컬 API 엑시트로 대체해야 합니다.

    1. 큐 관리자 특성 대화 상자의 엑시트 페이지를 여십시오.
    2. 로컬 API 엑시트 테이블에서 대체하려는 공용 엑시트를 클릭하십시오.
    3. 대체를 클릭하십시오.
      공용 API 엑시트 이름이 표시된 API 엑시트 편집 대화 상자가 열립니다.
    4. API 엑시트 편집 대화 상자에 로컬 API 엑시트의 세부사항을 입력한 후 확인을 클릭하여서 변경사항을 저장하십시오.
    그러면 동일한 이름을 가진 공용 엑시트가 로컬 엑시트로 대체됩니다.