Websphere MQ - MQQueueManager,在每次连接后保持打开或关闭
Websphere MQ - MQQueueManager, keep it open or close after every connection
我有一个连接到 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 对象(连接)时重用它?
除非您正在共享连接,否则请为每个线程创建一次 MQQueueManager 实例并根据需要保留它,在您的工作完成后调用 Disconnect 方法。不要将实例保留到应用程序结束。
与队列类似,打开队列一次并保留 putting/getting 消息,一旦工作完成,关闭队列。
阅读这篇关于 MQ 最佳实践的文章:http://www.ibm.com/developerworks/websphere/library/techarticles/0807_hsieh/0807_hsieh.html
我有一个连接到 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 对象(连接)时重用它?
除非您正在共享连接,否则请为每个线程创建一次 MQQueueManager 实例并根据需要保留它,在您的工作完成后调用 Disconnect 方法。不要将实例保留到应用程序结束。
与队列类似,打开队列一次并保留 putting/getting 消息,一旦工作完成,关闭队列。
阅读这篇关于 MQ 最佳实践的文章:http://www.ibm.com/developerworks/websphere/library/techarticles/0807_hsieh/0807_hsieh.html