在尝试使用ANT脚本调用传输时,我收到以下错误:
"发生内部错误。产品故障数据捕获在文件"FFDC.FTE.log"中。"
"尝试创建应答队列以接收传输结果失败。"
你能找出是什么原因吗?
com.ibm.wmqfte.wmqiface.WMQApiFailureException:
cc=2 rc=2100 op=openTemporaryQueue - MQOPEN (Queue Manager: QUEUEK,
Temporary Queue Model: SYSTEM.DEFAULT.MODEL.QUEUE,
Dynamic Queue Prefix: REPLY.,
Open Options: 8196)
该错误的助记符是MQRC=2100 MQRC_OBJECT_ALREADY_EXISTS
,这意味着当打开模型队列时,解析的名称是已定义的队列。这里有几种可能性。
第一个问题是,当尝试打开应答队列时,您连接到哪个队列管理器?如果您没有连接到一个名为QUEUEK
的QMgr,那么打开将被解析为到QUEUEK
的传输队列,并且该队列已经存在。
另一种可能是SYSTEM.DEFULT.MODEL.QUEUE
已设置为DEFTYPE(PERMDYN)
,在这种情况下,队列可能不会被删除,并且由于可能的临时队列名称的数量有限,并且名称空间将不断缩小,因此发生了冲突。
另一种可能性,远远落后于前两种,是WMQ中存在一个错误,导致两个临时队列的名称发生冲突。
为了弄清楚这一点,有必要知道当此事件发生时您正在连接哪个QMgr。同样,在同一个QMgr上的DIS Q(SYSTEM.DEFAULT.MODEL.QUEUE
。然后,执行DIS Q(REPLY*)
查看有多少永久动态队列(如果有的话)。最后,查看被剪切的FDC文件,找出动态队列的名称,并查看它是否存在于前一步的输出中。如果在所有这些之后,您仍然没有找到根本原因,那么是时候向IBM打开支持票了。