MQ打开队列模式 input和input_exclusive

[mqm@jxglapp1 sbin]$ ./getx_message QMEMBFE SYSTEM.ADMIN.SVRCONN 10.3.244.1 1417 3133310008_6
MQOPEN failed (Reason = 2042), retry timed out at script/get_mq_message.pl line 31.
Unable to open queue.
[mqm@jxglapp1 sbin]$ ./getx_message QMEMBFE SYSTEM.ADMIN.SVRCONN 10.3.244.1 1417 3133310008_6
MQOPEN failed (Reason = 2042), retry timed out at script/get_mq_message.pl line 31.
Unable to open queue.

2042 (07FA) (RC2042): MQRC_OBJECT_IN_USE

  my $queue = MQSeries::Queue->
    new(QueueManager => $qmgr_obj,
        Queue        => "$QueueName",
        Mode         => 'input_exclusive',
       ) or die("Unable to open queue.
");
  my $command = MQSeries::Command->new(QueueManager => $qmgr_obj);


Explanation

An MQOPEN call was issued, but the object in question has already been opened by this or another application with options that conflict with those specified in the Options parameter. This arises if the request is for shared input, but the object is already open for exclusive input; it also arises if the request is for exclusive input, but the object is already open for input (of any sort).
MCAs for receiver channels, or the intra-group queuing agent (IGQ agent), may keep the destination queues open even when messages are not being transmitted; this results in the queues appearing to be "in use". Use the MQSC command DISPLAY QSTATUS to find out who is keeping the queue open.

    On z/OS®, this reason can also occur for an MQOPEN or MQPUT1 call, if the object to be opened (which can be a queue, or for MQOPEN a namelist or process object) is in the process of being deleted.


使用input模式:

一个请求被执行,但是对象已经被另一一个指定选项参数为冲突的模式打开。

这个出现如果请求是用于shared input, 但是对象是打开使用exclusive input;

也可以是如果请求是使用exclusive input,但是对象已经使用input 模式打开

原文地址:https://www.cnblogs.com/hzcya1995/p/13349786.html