使用WebSphere MQ API创建队列时出错

时间:2011-01-14 07:41:10

标签: java ibm-mq

我尝试在WebSphere API中使用PCF命令创建队列,详见$MQM_HOME/samp/pcf/samples/PCF_CreateQeue.java。添加说明时,创建失败

command.addParameter(PCFConstants.MQCA_Q_DESC, "Created using MQMonitor");

我收到错误:com.ibm.mq.pcf.PCFException: MQJE001: Completion Code 2, Reason 3015 : MQRCCF_CFST_PARM_ID_ERROR 是否有另一种设置描述的方法,我正在使用API​​的第6版。

2 个答案:

答案 0 :(得分:2)

PCF手册中的Commands page表明:

  

所需参数和   列出了可选参数。上   除z /OS®以外的平台   参数必须按顺序出现

     
      
  1. 所有必需参数,按照所述顺序,然后是
  2.   
  3. 根据需要,可以按任何顺序选择参数,除非特别说明   在PCF定义中注明。
  4.   

Change, Copy and Create Queue部分按以下顺序列出了所需参数:

  1. MQCA_Q_NAME
  2. MQIA_Q_TYPE
  3. 可选参数,包括QDesc
  4. 相同的手册提供了所有PCF命令所需的参数及其顺序,因此无需在将来玩捉迷藏尝试参数和订单。

答案 1 :(得分:1)

addParameter 上的PCFMessage应按特定顺序(偶然发现)。如果我更改添加参数,如果工作。这不仅适用于创建队列,也适用于通道。

command.addParameter(PCFConstants.MQCA_Q_NAME, qname);
command.addParameter(PCFConstants.MQIA_Q_TYPE, PCFConstants.MQQT_LOCAL);
command.addParameter(PCFConstants.MQCA_Q_DESC, qdesc);
command.addParameter(PCFConstants.MQIA_DEF_PERSISTENCE, PCFConstants.MQPER_PERSISTENT);

以上操作会毫无错误地执行。

command.addParameter(PCFConstants.MQCA_Q_NAME, qname);
command.addParameter(PCFConstants.MQCA_Q_DESC, qdesc);
command.addParameter(PCFConstants.MQIA_Q_TYPE, PCFConstants.MQQT_LOCAL);
command.addParameter(PCFConstants.MQIA_DEF_PERSISTENCE, PCFConstants.MQPER_PERSISTENT);

在移动描述后,上述内容将失败。

我还没有在Java文档中看到它,如果是这样,我期待一些隐藏和寻求。