2010-08-06 3 views

답변

1

물론입니다. 메모리와 CPU만큼의 스레드를 가질 수 있습니다. 성능 향상을보고 싶다면 각 스레드마다 자체 연결 핸들이 필요합니다. 단일 연결 핸들을 사용하면 여러 스레드의 모든 GET 및 PUT 활동이 연결 핸들을 통해 동기화됩니다. 많은 연결 핸들을 사용하면 GET 및 PUT 활동이 동시에 발생할 수 있습니다. 자세한 내용은 WMQ Using Java 설명서의 Multithreaded programs을 참조하십시오.

MAXUPROCS와 같은 OS 커널 설정에서 WMQ가 충분한 스레드를 실행하여 연결을 수신하고 MAXHANDSMAXCHANNELS과 같은 WMQ 설정이로드를 수용 할 수 있도록 설정되어 있는지 확인하십시오. 작업 단위는 스레드 범위를 가지므로 각 스레드는 동기 점에 대해 다른 스레드와 독립적입니다. 예를 들어, 스레드 내에서 COMMIT를 실행하면 스레드가 전용 연결이 있다고 가정하고 해당 스레드가 넣은 메시지 만 커밋합니다. 대기열에는 DEFSOPT (기본 공유 옵션)에 대한 속성이 있지만 활성 상태 인 입력 핸들 수와 관련이 있습니다. 배타적 인 입력을 위해 큐를 열더라도, 많은 쓰레드가 쓰일 수 있습니다.

또한 WMQ의 v6.x는 2011 년 9 월에 끝날 예정입니다. 지원되는 버전으로 유지하려면 v7로 업그레이드하십시오. WMQ 클라이언트 연결을 사용하는 경우 클라이언트와 QMgr을 업그레이드하십시오. v7 클라이언트는 v6 QMgr과 잘 작동하며 독립적으로 업그레이드 할 수 있습니다. 물론 v6.x QMgr과 함께 사용할 때 v6 기능 만 지원합니다. v7 클라이언트는 SupportPac MQC7으로 다운로드 할 수 있습니다.

+0

나는 정확하게 질문을 넣지 않았다고 생각한다. 큐에 연결하고 메시지를 보내기위한 자바 프로그램을 작성 중이다. 원격 IBMMQ 서버에서 동일한 큐 rugginng에 다중 스레드 방식으로 메시지를 보낼 수 있는지 여부를 알기 위해 노력했습니다. – user412918

+1

예. 그것이 내가이 질문을 해석 한 방법입니다. 나는 많은 스레드가 모두 자신의 연결을 필요로하고이 주제를 다루는 매뉴얼 섹션에 대한 링크를 제공했다는 해답을 업데이트했다. –