OSC 애플리케이션에서 MQI 호출
본 부록에서는 OSC에서 사용하는 애플리케이션 프로그램에서 IBM MQ 제품에 대한 연동시의 주의 사항에 대해 기술한다.
1. OSC 애플리케이션에서의 MQI 호출 시 주의점
애플리케이션에서 MQ를 액세스 하기 위해서는 MQ에서 제공하는 MQI(MQ Interface)를 이용한다. 먼저, 접근하고자 하는 QUEUE 관리자 이름을 지정하여 MQCONN을 호출한다. 정상적으로 QUEUE 관리자와 연결을 맺으면, Connection Handle 값을 반환한다. 그리고 이후에 MQOPEN, MQGET, MQPUT, MQCMIT, MQBACK, MQCLOSE와 같은 MQI에 Connection Handle 값을 입력으로 지정한다.
OSC 애플리케이션에서 MQ를 액세스하기 위해서는 직접 MQCONN을 호출하거나, OSC에서 제공하는 MQ 연결 기능을 사용할 수 있다. 직접 MQCONN을 이용하는 경우에는 MQCONN 호출을 통해서 받은 Connection Handle을 이용하면 된다. OSC에서 제공하는 연결 기능을 사용할 경우에는 OSC에서 MQ 연결시에 맺은 Connection Handle값을 이용해서 MQI를 호출해야한다.
OSC에서는 OSC에서 연결한 MQ에 대한 Connection Handle을 반환하는 API를 제공한다.
void OSC_GET_MQ_HANDLE(int32_t *connid);
MQ에 대한 연결이 정상적으로 처리된 경우에는 MQ Connection Handle을 반환하게 되고, MQ에 대한 연결이 이루어지지 않은 경우에는 -1을 전달한다.
다음은 OSC 애플리케이션에서 MQ를 사용하는 예제이다.
IDENTIFICATION DIVISION. PROGRAM-ID. TESTMQ01. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MQ-HCONN PIC S9(9) COMP VALUE +0. PROCEDURE DIVISION. CALL 'OSC_GET_MQ_HANDLE' USING WS-MQ-HCONN. CALL 'MQOPEN' USING WS-MQ-HCONN MQOD WS-MQ-OPTIONS WS-MQ-HMQOD WS-MQ-COMPCODE WS-MQ-REASON.