MQRC_OBJECT_ALREADY_EXISTS,当通过ANT脚本调用WMQ 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) 

该错误的助记符是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打开支持票了。

相关内容

  • 没有找到相关文章

最新更新