2042 (07FA) (RC2042): MQRC_OBJECT_IN_USE
説明
MQOPEN 呼び出しが発行されましたが、当該のオブジェクトは、Options パラメーター内に指定されているオプションと矛盾するオプションを使用して、このアプリケーションまたは別のアプリケーションによってすでにオープンされています。 これが起こるのは、要求が共用入力用のものであるのに、オブジェクトが排他入力用にすでにオープンされている場合です。 また、要求が排他入力用のものであるのに、オブジェクトが (任意の種類の) 入力用にすでにオープンされている場合にも、このようなことが起こります。
受信側チャネルの MCA、またはグループ内キューイング・エージェント (IGQ エージェント) は、メッセージが伝送されていないときでも宛先キューをオープンしておく場合があります。そのため、キューが「使用中」のように見えることがあります。 MQSC のコマンド DISPLAY QSTATUS を使用して、キューをオープンしたままにしているユーザーを調べてください。
アプリケーションが MQOO_INPUT_SHARED オープン・オプションを使用する場合、またはアプリケーションが MQOO_INPUT_AS_Q_DEF を使用し、デフォルトの共用オプション・キュー属性が DEFSOPT (SHARED) に設定されている場合、 IBM® MQ は共用入力のためにキューをオープンします。 ただし、 SHARE/NOSHARE オプションの形式の管理上のオーバーライドがあります。
キュー定義に NOSHARE が示されている場合、 IBM MQ は、アプリケーションによって設定されたオプションに関係なく、入力ハンドルを排他的にします。
z/OS®では、MQOPEN 呼び出しまたは MQPUT1 呼び出しの場合、オープンされるオブジェクト (キューの場合、または MQOPEN の場合は名前リストまたはプロセス・オブジェクト) が削除処理中の場合にも、この理由コードが戻されることがあります。
z/OS のデフォルト設定は NOSHARE です。
完了コード
MQCC_FAILED
プログラマー応答
システム設計のときに、アプリケーションが待機して再試行するか、あるいは他の処置を取るのかを指定する必要があります。