해결책: 모든 브로커가 사용자 이름 서버에
구성되었는지 확인하십시오. 전체 브로커 도메인에 대해 하나의 사용자 이름 서버를
사용해야 합니다. 그리고, 모든 브로커 및 구성 관리자가
사용자 이름 서버의 큐 관리자에 액세스할 수 있어야 합니다. 시동 후에 브로커의 로그에 BIP8303 오류가 기록되는 경우,
사용자 이름 서버에 통신 문제가 있음을 나타냅니다.
사용자 이름 서버의 송/수신 WebSphere MQ
채널을 확인한 후 다시 시도하십시오. 구성 관리자 및
브로커에 대해 사용자 이름 서버에 등록되었음을 나타내는 BIP8204I 이벤트 메시지가 표시되어야 합니다.
브로커 도메인이 서로 다른 사용자 목록을 갖는 여러 시스템에 걸쳐 있는 경우
사용자 및 그룹 멤버쉽에 문제가 있을 수 있습니다. 브로커를 보유하는 각 시스템에
대해
mqbrkrs라는 그룹이 있어야 합니다.
이 그룹에는 다음과 같은 프린시펄이 포함되어야 합니다. 그렇지 안으면 권한 부여
실패가 보고됩니다.
- 로컬 브로커 서비스 사용자 ID
- 모든 이웃 브로커의 서비스 사용자 ID
- 구성 관리자 서비스 사용자 ID
클라이언트 응용프로그램에서 메시지의 사용자 ID가
mqbrkrs 그룹의 구성원이면 보안이 생략됩니다(
사용자 이름 서버가
사용 중인 경우에도).
publish/subscribe 요청에 실패하고 이벤트 메시지 BIP7017이 발행되면 사용자 이름 서버를 실행하는 시스템에 클라이언트 사용자 ID가 알려져 있는지 확인하십시오. 또한
Windows 도메인 환경에서 작업할 경우 사용자 이름 서버가 해당 도메인으로 설정된
mqsicreateusernameserver 명령의 -d 매개변수로 작성되고 모든 클라이언트 응용프로그램 사용자 ID가
이 도메인의 구성원인지 확인하십시오.
publish/subscribe에서 메시지 지속성은
대개 보존됩니다. 그러나, ACL이 허용하지 않으면 subscriber가 예상하는 지속성을
수신하지 못합니다.