MQRC_OBJECT_ALREADY_EXISTS when WMQ FTE transfer is invoked via ANT script
While trying to invoke a transfer using ANT script I received the below error :
"An internal error has occurred. Product failure data was captured in file "FFDC.FTE.log"."
"Attempt to create a reply queue to开发者_C百科 receive the transfer result has failed."
Can you please find what is the reason for this?
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)
The mnemonic for the error is MQRC=2100 MQRC_OBJECT_ALREADY_EXISTS
which means that when the model queue was opened, the name that was resolved was to a queue that is already defined. There are a couple of possibilities here.
First question is what queue manager were you connected to when the attempt to open the reply queue was made? If you were not connected to a QMgr called QUEUEK
then the open will have resolved to the transmit queue that goes to QUEUEK
, and which would already exist.
Another possibility is that SYSTEM.DEFULT.MODEL.QUEUE
has been set to DEFTYPE(PERMDYN)
in which case the queues may not be deleted and, because there are a finite number of possible temporary queue names and the namespace would be constantly shrinking, a collision has occurred.
The other possibility, which is a distant second to the first two, is that there's a bug in WMQ that caused a collision on the name of two temporary queues.
In order to figure this out, it will be necessary to know which QMgr you are connecting to when this event occurs. Also, DIS Q(SYSTEM.DEFAULT.MODEL.QUEUE
on that same QMgr. Then, DIS Q(REPLY*)
to see how many permanent dynamic queues (if any) are laying about. Finally, look at the FDC file that was cut to find out the name of the dynamic queue and see if it exists in the output from the previous step. If after all of this you still do not have a root cause then it's time to open a support ticket with IBM.
精彩评论