在尝试使用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)
答案 0 :(得分:1)
错误的助记符是MQRC=2100 MQRC_OBJECT_ALREADY_EXISTS
,这意味着在打开模型队列时,已解析的名称是已定义的队列。这里有几种可能性。
第一个问题是,当尝试打开回复队列时,您连接了哪个队列管理器?如果您没有连接到名为QUEUEK
的QMgr,那么open将解析为传输队列,该队列将转到QUEUEK
,并且已经存在。
另一种可能性是SYSTEM.DEFULT.MODEL.QUEUE
已设置为DEFTYPE(PERMDYN)
,在这种情况下,队列可能不会被删除,因为有可能的临时队列名称数量有限,命名空间会不断缩小,发生了碰撞。
另一种可能性,即前两个的第二个可能性,是WMQ中存在一个错误导致两个临时队列名称发生冲突。
为了弄清楚这一点,当发生此事件时,有必要知道您要连接的QMgr。此外,DIS Q(SYSTEM.DEFAULT.MODEL.QUEUE
在同一个QMgr上。然后,DIS Q(REPLY*)
查看有多少永久动态队列(如果有的话)正在铺设。最后,查看被剪切的FDC文件,以找出动态队列的名称,并查看它是否存在于上一步的输出中。如果在完成所有这些之后您仍然没有根本原因,那么是时候与IBM一起打开支持票了。