직접 WebSphere MQ API 호출 사용
WebSphere® MQ API는 메시지 큐 관리자에서 서비스를 요청하는 데 사용할 수 있는 프로그램 인터페이스 세트입니다.
WebSphere MQ API(MQ 인터페이스 또는 MQI라고도 함)는 메시지 큐 관리자에 직접 액세스합니다. 인터페이스가 복잡하고 실수할 가능성이 높으며 유연성이 부족하므로 기존 코드 유지보수 시 MQI만 사용하십시오. 새 코드는 EGL add 및 get next 문을 사용하여 메시지 큐 정보에 액세스해야 합니다.
- 큐 관리자에 연결 및 연결 끊기(MQCONN 또는 MQCONNX, MQDISC)
- 큐 열기 및 닫기(MQOPEN, MQCLOSE)
- 큐에서 메시지 읽기(MQGET)
- 큐에 메시지 쓰기(MQPUT)
- 큐의 암시적 열기 및 닫기로 큐에 단일 메시지 쓰기(MQPUT1)
- 큐와 같은 큐 관리자 오브젝트의 속성 요청 및 설정(MQINQ, MQSET)
- 작업 단위 시작(MQBEGIN)
- 변경사항 커미트 또는 백아웃(MQCMIT, MQBACK)
- 프로젝트 탐색기 보기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭하십시오.
- 특성을 선택하십시오.
- 특성 대화 상자의 왼쪽에 있는 EGL 프로젝트 기능을 클릭하십시오.
- 하위 레벨 MQ API 지원이 있는 EGL 옆의 상자를 선택하십시오.
- 확인을 클릭하십시오.
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 호출에 대한 샘플 레코드의 이름을 표시합니다.
| 레코드 | 설명 | 초기자(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 함수를 표시합니다.
| 함수 | 설명 |
|---|---|
| MQCONN | 메시지 큐 관리자에 연결 |
| MQCONNX | 확장된 연결 |
| MQDISC | 메시지 큐 관리자에서 연결 끊기 |
| MQOPEN | 메시지 큐 열기 |
| MQCLOSE | 메시지 큐 닫기 |
| MQGET | 큐에서 메시지 읽기 |
| MQPUT | 큐에 메시지 쓰기 |
| MQPUT1 | 큐 열기 및 닫기를 포함한 단일 메시지를 큐에 쓰기 |
| MQINQ | 큐 속성 조회 |
| MQSET | 큐 속성 설정 |
| MQBEGIN | 논리적 작업 단위 시작 |
| MQCMIT | 논리적 작업 단위 커미트 |
| MQBACK | 논리적 작업 단위 백아웃 |