Websphere MQ - MQQueueManager,在每次连接后保持打开或关闭

时间:2015-03-16 10:35:53

标签: c# ibm-mq

我有一个连接到Websphere MQ的C#应用​​程序。

基本上:

 MQEnvironment.Hostname = HostName;
 MQEnvironment.Channel = Channel;
 MQEnvironment.Port = Port;
 MQQueueManager queueManager = new MQQueueManager(QueueManagerName);

 using (MQQueue putQueue = queueManager.AccessQueue(putQueueName, MQC.MQOO_OUTPUT))
 { 
 }

我的问题是:我是否应该为整个应用程序只创建一个MQQueueManager实例,并且每次我想为每次调用添加消息或创建新的MQQueueManager对象(连接)时都要重用它?

1 个答案:

答案 0 :(得分:2)

除非您正在共享连接,否则每个线程创建一次MQQueueManager实例并根据需要保留它,在您的工作完成后调用Disconnect方法。不要将实例保留到应用程序结束。

类似于队列,打开队列一次并继续发送/获取消息,一旦完成作业,关闭队列。

阅读本文ob MQ最佳实践:http://www.ibm.com/developerworks/websphere/library/techarticles/0807_hsieh/0807_hsieh.html