将 Websphere MQ QueueDepth 与集群队列一起使用
Using Websphere MQ QueueDepth with a clustered queue
我有一个 C# 应用程序需要定期检查队列的深度,然后可能确定新入站消息的某些行为。 (本质上,当我们在较长时间内处于高队列深度并且满足其他一些条件时,需要将某些消息设置为更高的优先级以确保它们得到及时处理。)
我的代码在开发方面运行良好,但是当它进入 QA 时,它开始失败,CompCode:1,原因:2068。我的研究似乎表明这意味着有问题的队列聚集在QA 环境,我的请求对集群队列无效。
我对 Websphere 界面不是很有经验,所以我希望有人能帮助我弄清楚如何做到这一点。
我现在是这样称呼它的:
try
{
MQQueueManager mqManager = new MQQueueManager(queueManager);
MQQueue mqQueue = mqManager.AccessQueue(queueName, MQC.MQOO_OUTPUT + MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING);
int depth = mqQueue.CurrentDepth;
mqQueue.Close();
mqManager.Disconnect();
return depth;
}
catch (Exception ex)
{
//there's lots of irrelevant handling here
}
我有一个 C# 应用程序需要定期检查队列的深度,然后可能确定新入站消息的某些行为。 (本质上,当我们在较长时间内处于高队列深度并且满足其他一些条件时,需要将某些消息设置为更高的优先级以确保它们得到及时处理。)
我的代码在开发方面运行良好,但是当它进入 QA 时,它开始失败,CompCode:1,原因:2068。我的研究似乎表明这意味着有问题的队列聚集在QA 环境,我的请求对集群队列无效。
我对 Websphere 界面不是很有经验,所以我希望有人能帮助我弄清楚如何做到这一点。
我现在是这样称呼它的:
try
{
MQQueueManager mqManager = new MQQueueManager(queueManager);
MQQueue mqQueue = mqManager.AccessQueue(queueName, MQC.MQOO_OUTPUT + MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING);
int depth = mqQueue.CurrentDepth;
mqQueue.Close();
mqManager.Disconnect();
return depth;
}
catch (Exception ex)
{
//there's lots of irrelevant handling here
}