직접 WebSphere MQ API 호출 사용

WebSphere® MQ API는 메시지 큐 관리자에서 서비스를 요청하는 데 사용할 수 있는 프로그램 인터페이스 세트입니다.

WebSphere MQ API(MQ 인터페이스 또는 MQI라고도 함)는 메시지 큐 관리자에 직접 액세스합니다. 인터페이스가 복잡하고 실수할 가능성이 높으며 유연성이 부족하므로 기존 코드 유지보수 시 MQI만 사용하십시오. 새 코드는 EGL addget next 문을 사용하여 메시지 큐 정보에 액세스해야 합니다.

EGL은 다음 MQI 함수를 지원합니다.
  • 큐 관리자에 연결 및 연결 끊기(MQCONN 또는 MQCONNX, MQDISC)
  • 큐 열기 및 닫기(MQOPEN, MQCLOSE)
  • 큐에서 메시지 읽기(MQGET)
  • 큐에 메시지 쓰기(MQPUT)
  • 큐의 암시적 열기 및 닫기로 큐에 단일 메시지 쓰기(MQPUT1)
  • 큐와 같은 큐 관리자 오브젝트의 속성 요청 및 설정(MQINQ, MQSET)
  • 작업 단위 시작(MQBEGIN)
  • 변경사항 커미트 또는 백아웃(MQCMIT, MQBACK)
직접 WebSphere MQ API 호출을 사용하려면 EGL 프로젝트 기능을 사용으로 설정해야 합니다.
  1. 프로젝트 탐색기 보기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭하십시오.
  2. 특성을 선택하십시오.
  3. 특성 대화 상자의 왼쪽에 있는 EGL 프로젝트 기능을 클릭하십시오.
  4. 하위 레벨 MQ API 지원이 있는 EGL 옆의 상자를 선택하십시오.
  5. 확인을 클릭하십시오.

WebSphere MQ 재사용가능 파트

EGL은 재사용가능 파트 세트를 제공하는데, 이는 WebSphere MQ API로의 직접 호출을 작성하도록 수정하거나 사용할 수 있는 매개변수, 레코드 및 함수입니다. 해당 파트의 소스 파일은 SDP70Shared\plugins\com.ibm.etools.egl.resources_version\MqReusableParts 디렉토리에 있습니다.

MQI 매개변수는 데이터 항목 또는 레코드입니다. MQSTATE 및 MQATTRIBUTES 샘플은 대부분의 데이터 항목 매개변수에 대한 선언을 포함합니다.

BUFFER 매개변수(MQGET, MQPUT, MQPUT1 호출과 함께 사용되는 메시지 버퍼 매개변수) 및 CHARATTRS(MQINQ 및 MQSET 호출과 함께 사용되는 문자 속성 버퍼 매개변수)는 모두 1024자 길이로 정의됩니다. 더 큰 버퍼를 필요로 하는 프로그램에서 MQSTATE를 재사용하는 경우 해당 항목의 길이를 늘리십시오.

샘플 레코드는 레코드 매개변수 그리고 특별한 용도의 메시지 그리고 메시지 헤더의 형식을 정의하기 위해 제공됩니다. 레코드 이름은 COBOL 구조 이름과 동일합니다. 레코드의 데이터 항목은 COBOL 이름이 토큰 구분 기호로서 밑줄 대신에 하이픈(-)를 사용하는 것을 제외하고, COBOL 구조에서 해당하는 필드와 같은 이름을 가지고 있습니다.

다음 테이블은 직접 WebSphere MQ 호출에 대한 샘플 레코드의 이름을 표시합니다.

표 1. WebSphere MQ 호출에 대한 샘플 레코드
레코드 설명 초기자(initializer) 함수
MQBO 시작 옵션 MQBO_INIT
MQCNO 연결 옵션 MQCNO_INIT
MQDH 분배 헤더 MQDH_INIT
MQDLH 데드-레터 헤더 MQDLH_INIT
MQGMO Get-message 옵션 매개변수 MQGMO_INIT
MQINTATTRS 정수 속성 매개변수 MQINTATTRS_INIT
MQMD 메시지 디스크립터 매개변수 MQMD_INIT
MQMD1 메시지 디스크립터(버전 1) MQMD1_INIT
MQMDE 메시지 디스크립터 확장 MQMDE_INIT
MQOD 오브젝트 디스크립터 매개변수 MQOD_INIT
MQOR 오브젝트 레코드 MQOR_INIT
MQPMO Put-message 옵션 구조 MQPMO_INIT
MQRMH 메시지 참조 헤더 MQRMH_INIT
MQRR 응답 레코드 MQRR_INIT
MQSELECTORS 속성 선택기 매개변수 MQSELECTORS_INIT
MQTM 트리거 메시지 구조 MQTM_INIT
MQTMC2 트리거 메시지 2(문자 형식) MQTMC2_INIT
MQXQH 전송 큐 헤더 MQXQH_INIT

다음 테이블은 WebSphere MQ API 함수를 호출하는 샘플 EGL 함수를 표시합니다.

표 2. WebSphere MQ API 함수를 호출하는 EGL 함수
함수 설명
MQCONN 메시지 큐 관리자에 연결
MQCONNX 확장된 연결
MQDISC 메시지 큐 관리자에서 연결 끊기
MQOPEN 메시지 큐 열기
MQCLOSE 메시지 큐 닫기
MQGET 큐에서 메시지 읽기
MQPUT 큐에 메시지 쓰기
MQPUT1 큐 열기 및 닫기를 포함한 단일 메시지를 큐에 쓰기
MQINQ 큐 속성 조회
MQSET 큐 속성 설정
MQBEGIN 논리적 작업 단위 시작
MQCMIT 논리적 작업 단위 커미트
MQBACK 논리적 작업 단위 백아웃