2015-01-29 1 views
0

마지막으로 MQ를 분노 (v6, HPUX 플랫폼의 메모리에서)로 사용한 경우 프로세스 내의 스레드간에 연결을 공유 할 수 없다는 한계가있었습니다. 당신이 이미 큐 관리자에 연결했다 스레드에서 다른 MQCONN을 시도하는 경우MQ에 여전히 스레드 별 연결 수 제한이 있습니까?

, 그것은 매우 빠르게 이전 손잡이가 돌아왔다하고 관리 경고를 제공, 그것은 재 사용하므로이었다 말 공유 연결을 제대로 사용하면 단일 스레드가 동일한 큐 관리자에 많은 연결을 효율적으로 만들 수 있습니다. 당신이 IPC의 모든 두서없는 장문을 통과했다대로, 수반 모든 속도 저하와 함께 당신에게 다른 연결 핸들을 준 과정에서 다른 스레드에서 연결을 시도하는 경우

그러나, 보안 점검 , 다른 에이전트 스레드 또는 프로세스 실행 중.

내가 묻는 이유는 클라이언트가 요청시 (Windows의 경우 C#) 스레드가 만들어지고 동일한 큐 관리자에 연결하려고하는 아키텍처가 클라이언트에 표시 되었기 때문입니다. MQ 7.5를 실행하도록 제안하고 있습니다. 여전히 연결 당 스레드 요구 사항 및 스레드가 풀링되지 않는 자신이 있다면

스레드는 모두, 내가 MQ 연결하는 걱정, 가정 효율성을 위해 풀링 MQ 연결을 제공 XMSFactoryFactory를 사용하여 연결 만합니다 각각의 새 스레드가 새 연결을 필요로한다는 사실 때문에 풀링이 쓸모 없을 수 있습니다.

답변

2

이제 연결을 스레드간에 공유 할 수 있습니다. 자세한 내용은 link을 읽어보십시오.

XMS .NET은 IBM MQ 대기열 관리자와 통신하기위한 C# 언어의 JMS 사양 구현입니다. XMSFactoryFactory은 연결 풀링을 제공하지 않습니다.

또한 JMS v1.1 사양에 따라 JMS 세션 객체와 그 자식 (제작자, 소비자 등)은 스레드간에 공유되어서는 안된다는 점에 유의해야합니다.

+0

아마 내가 잘못 읽었지만 'XMSFactoryFactory ff = XMSFactoryFactory.GetInstance (XMSC.CT_WMQ); 코드를 가지고 있습니다. IConnectionFactory cf = ff.CreateConnectionFactory(); 그리고 설정되어있는 속성 중 하나는'WMQ_USE_CONNECTION_POOLING' (메모리에서 가져온 것입니다. 코드는 작동 중입니다). – paxdiablo

+0

WMQ_USE_CONNECTION_POOLING 속성은 문서화되어 있지 않으므로 사용해서는 안됩니다. 모든 XMS .NET ConnectionFactory 특성 - http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.msc.doc/props_connf.html?lang=en을 찾을 수 있습니다. – Shashi