사용자 엑시트를 작성하고 컴파일한 경우 라이브러리의 확장자를
“.lel”로 지정한 다음, bipInitializeUserExits 및 bipTerminateUserExits 함수를 내보내고 라이브러리를
브로커의 시스템에 설치해야 합니다. 또한 메시지 플로우별로 사용자 엑시트의 상태를 활성 또는 비활성으로 설정할 수 있습니다.
사용자 엑시트를 전개하려면 다음을 수행하십시오.
브로커에 사용자 엑시트 코드 설치
사용자 엑시트 코드가 포함된 라이브러리는 브로커가 액세스할 수 있는 파일 시스템에 설치해야 합니다.
예를 들어, 브로커를 실행하는 사용자 ID는 파일 읽기 및 실행 권한이 있어야 합니다.
브로커는 다음 위치에서 사용자 엑시트가 포함된 라이브러리를 찾습니다.
브로커 등록 정보 UserExitPath(64비트 실행 그룹의 경우 UserExitPath64).
이 등록 정보는 콜론(Windows에서는 세미콜론)으로 구분된 디렉토리의 목록입니다.
mqsicreatebroker 또는 mqsichangebroker에서
–x 플래그를 사용하여 설정할 수 있습니다. 이 등록 정보를 사용하여 사용자 엑시트를 특정 브로커에
로드할 수 있습니다.
환경 변수 MQSI_USER_EXIT_PATH(64비트 실행 그룹의 경우 MQSI_USER_EXIT_PATH64).
이 환경 변수는 콜론(Windows에서는 세미콜론)으로 구분된 디렉토리의 목록입니다.
이 환경 변수는 대부분의 경우 특정 환경에서 사용자 엑시트를 모든 브로커에 로드하도록 설정됩니다.
등록 정보와 환경 변수가 모두 설정되는 경우 환경 변수가 우선합니다. 환경 변수의 모든 디렉토리는
변수에 표시대는 순서대로 검색됩니다. 그런 다음, 브로커 등록 정보의 모든 디렉토리는 등록 정보에 표시되는 순서대로 검색됩니다.
사용자 엑시트 라이브러리를 브로커의 프로세스에 로드
사용자 엑시트 라이브러리가 브로커에 설치되면 이를 로드해야 합니다.
다음 방법 중 하나로 이를 수행하십시오.
브로커를 정지하고 재시작하십시오.
mqsireload 명령을 발행하십시오. 이 명령은 실행 그룹 프로세스를 재시작합니다.
사용자 엑시트 활성화
사용자 엑시트는 활성 또는 비활성 상태일 수 있는데, 디폴트는 비활성입니다.
한 세트의 사용자 엑시트에 대해 디폴트 상태를 브로커 별로 활성 상태로 변경할 수 있습니다.
브로커의 디폴트 사용자 엑시트 상태를 설정하려면 다음을 수행하십시오.
브로커를 정지하십시오.
mqsichangebroker 명령을 사용하여 브로커의 activeUserExits 등록 정보를 설정하십시오.
브로커를 시작하고, 시스템 로그를 점검하여 모든 실행 그룹이 오류없이 시작되는지 확인하십시오. 올바르지 않은 사용자 엑시트 이름이 지정되는 경우(즉, 사용자 엑시트가 실행 그룹에 의해 로드되는 라이브러리에서 제공되지 않음),
다음 조치 중 하나를 수행하지 않는 한 시스템 로그에 BIP2314 메시지가 기록되고 실행 그룹의 모든 플로우가 시작되지 않습니다.
엑시트를 구현하는 사용자 엑시트 경로에 있는 라이브러리를 제공한 다음
mqsireload 명령을 발행하거나 브로커를 재시작하여 라이브러리에서 엑시트를 로드하십시오.
mqsichangeflowuserexits 명령을 발행하여
활성 및 발행 목록에서 엑시트를 제거하십시오.
또한 브로커의 디폴트 사용자 엑시트 상태를 대체할 수도 있습니다. mqsichangeflowuserexits 명령을
사용하여 사용자 엑시트를 실행 그룹별 또는 메시지 플로우별로 활성화하거나 비활성화할 수 있습니다. 이 경우
메시지 플로우가 실행 그룹에 우선합니다. 특정 플로우에 대해
복수의 엑시트가 활성 상태인 경우 정의된 순서(mqsichangeflowuserexits의 설명 참조)에
따라 호출됩니다.