IBM의 WebSphere MQ에 .NET API를 사용하고 있습니다.IBM.WMQ.MQQueue 오브젝트 재사용
MQQueueManager 오브젝트를 생성하는 것은 비용이 많이 드는 작업임이 분명하므로 이러한 오브젝트 풀을 캐시하고 재사용합니다. 한 번 수행
//obtain queueManager from pool
IBM.WMQ.MQQueue requestQ= queueManager.AccessQueue(requestQName, mqOptions);
IBM.WMQ.MQQueue responseQ= queueManager.AccessQueue(responseQName, mqOptions);
그들을 닫습니다 :
현재, 각 요청에 대해, 우리는 필요한 큐에 액세스
requestQ.Close();
responseQ.Close();
이 최선의 방법인가, 또는 우리는 또한 풀링과 재사용해야한다 MQQueue 객체 (큐 매니저와 함께)? AccessQueue()는 클라이언트에서 값싼 작업으로 보입니다.
"연결"이라고 말하면 무엇을 의미합니까? IBM docs도 참조하지만 QueueManager에 연결되어 있다고 생각하기 때문에 각 스레드 (캐싱)마다 새 QM을 작성해야하는지 여부는 실제로 이해할 수 없습니다. –
https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html –