当通过ANT脚本调用MQ FTE传输时,MQRC OBJECT ALREADY EXISTS

时间:2011-04-25 10:11:06

标签: ant websphere ibm-mq websphere-mq-fte

在尝试使用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) 

1 个答案:

答案 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一起打开支持票了。