MQSO_ANY_USERID subscription 옵션

MQSO_ANY_USERID가 지정된 경우 구독자의 ID는 단일 사용자 ID로 제한되지 않습니다. 이로 인해 적절한 권한이 있을 때 사용자가 구독을 대체하거나 재개할 수 있습니다. 단일 사용자에 한해서 언제든지 구독 가능합니다. 또 다른 애플리케이션이 현재 사용 중인 구독을 재개하기 위한 시도는 호출을 MQRC_SUBSCRIPTION_IN_USE로 실패하게 만듭니다.

이 옵션을 기존 구독에 추가하려면 MQSUB 호출(MQSO_ALTER 사용)은 원본 구독과 같은 사용자 ID로부터 나와야 합니다.

MQSUB 호출이 MQSO_ANY_USERID가 설정된 기존 구독을 참조하고 사용자 ID가 원래 구독과 다른 경우 새 사용자 ID에 토픽을 구독할 수 있는 권한이 있을 때에만 호출에 성공합니다. 성공적인 완료 후에 이 구독자에 대한 추가 발행은 발행에 설정된 새 사용자 ID와 함께 구독자 큐에 놓입니다.

MQSO_FIXED_USERID

MQSO_FIXED_USERID가 지정될 때 구독은 단일 소유 사용자 ID에 의해서만 변경되거나 재개될 수 있습니다. 이 사용자 ID는 이 옵션을 설정하여 MQSO_ANY_USERID 옵션을 제거한 구독을 변경하기 위한 마지막 사용자 ID이거나, 변경이 발생하지 않으면 구독을 작성한 사용자 ID입니다.

MQSUB 동사가 MQSO_ANY_USERID가 설정된 기존 구독을 가리키고 MQSO_FIXED_USERID 옵션을 사용하기 위해 구독(MQSO_ALTER 사용)을 변경하는 경우, 구독의 사용자 ID는 이제 이 새 사용자 ID로 고정됩니다. 새 사용자 ID에 토픽을 구독할 수 있는 권한이 있는 경우에만 호출에 성공합니다.

구독을 소유한 것으로 기록된 사용자 ID 이외의 사용자 ID가 MQSO_FIXED_USERID 구독을 재개하거나 변경하려고 시도하는 경우 호출은 MQRC_IDENTITY_MISMATCH와 함께 실패합니다. DISPLAY SBSTATUS 명령을 사용하여 구독에에 대한 소유 사용자 ID를 볼 수 있습니다.

MQSO_ANY_USERID 또는 MQSO_FIXED_USERID가 지정되지 않은 경우에는 기본값은 MQSO_FIXED_USERID입니다.