2014-12-03 9 views
1

IBMMQ에서 AMS 기능을 사용하려고합니다. AMS를 활성화하고 특정 큐에 정책을 설정 한 후 응용 프로그램의 주 스레드에서 MQPUT을 사용하여 메시지를 큐에 넣으려고 시도했지만 성공했습니다.MQPUT 실패 : 멀티 스레드 환경에서 AMS를 활성화 할 때 2035

나중에 별도의 작업자 스레드 (posix 스레드)에서 MQCONN 및 MQPUT 라이브러리 명령을 작성하려고 시도했으며 특정 큐에 대한 오류 코드 2035를 말하면 시스템이 항상 실패합니다.

멀티 스레딩에서 AMS 기능을 사용할 수 없습니까? 이 작업을 수행하기 위해 수행해야 할 설정 또는 변경 사항은 무엇입니까?

는 (우리의 IBMMQ 버전 7.5/유닉스 readhat/클라이언트 모드)

답변

0
멀티 스레드 응용 프로그램에서

, 여전히 같은 사용자가 될 것입니다 응용 프로그램을 실행하는 사용자 ID, 그래서 같은 설정해야합니다. 그러나 AMQERR01.LOG는 보안 오류가 실제로 무엇인지 정확히 표시합니다.

+0

예 사용자 ID는 그런 식으로해야하며 변경해서는 안됩니다. 그러나 문제는 IBMMQ에서 그런 식으로 작동하지 않는다는 것입니다. > dev50 샘플 AMQSPUT0 대상 큐는 시작 - 여기 (두 가지 주요 작업자 스레드 amqsputc 사용됨) 애플리케이션으로부터 출력 이 /// 메인 쓰레드 //// MainApp 에서 시저 실행에 사용자입니다 T.OUTQUEUE 안녕하세요 !! AMQSPUT 성공 /// 작업자 스레드 //// AppWorkerThread에서 PROC 실행에 입니다 사용자 -> dev50 샘플 AMQSPUT0이 대상 큐를 시작 MQOPEN이 열 이유 코드 2035 수없는 끝났다 T.OUTQUEUE 한다 출력 대기열 샘플 AMQSPUT0 끝 – user1503050

+0

오류 2035와 관련하여/var/mqm의 어느 위치에도 오류 로그가 인쇄되지 않습니다. – user1503050

+0

응용 프로그램에서 2035 리턴 코드를 수신 한 후 큐 관리자 AMQERR01.LOG의 마지막 오류는 무엇입니까? –