Windowsサービスの一部として実行されている汎用の「datapump」があります。MQSeriesキューからの新しい着信メッセージを監視しているキューごとに、そのインスタンスが存在します。Getメソッドが失敗した場合、キューの名前を表示できるようにしたいので、catchハンドラーで使用できるデバッグ変数を作成しようとしています。以下のdebugQueueInfoを設定する行に2068MQRC_SELECTOR_NOT_FOR_TYPEが表示されます。
debugLocation = "queueGetName";
debugQueueInfo = "Queue:" + queueIn.RemoteQueueManagerName + ":"
+ queueIn.RemoteQueueName;
debugLocation = "queueGetMessage";
queueIn.Get(mqMessage, mqGetMessageOptions);
現在のキューマネージャー名とキュー名を取得するにはどうすればよいですか?変数queueInはタイプIMB.WMQ.MQQueueであり、.NETAPIを使用しています。
キューがオブジェクト構築されたとき、私は以下を使用しました:
queueOptions = MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING + MQC.MQOO_INQUIRE + MQC.MQOO_BROWSE;
MQQueue mqQueue = qmgr.AccessQueue(mqCloneSpecs.queueName, queueOptions);
2068年のエラーコードのドキュメントに基づいて、MQC.MQOO_BROWSEを追加すると問題が解決すると思いましたが、修正されませんでした。