com.ibm.mq.pcf

类 PCFMessageAgent



  • 公用类 PCFMessageAgent
    扩展 PCFAgent
    用于将 PCF 查询发送到队列管理器的通用代理程序。 与它所扩展的 PCFAgent 一样, PCFMessageAgent 会维护单个队列管理器连接,并提供用于发送 PCF 请求和返回响应消息集的简单方法。 PFMessageAgent 使用 PCFMessage请求和应答的 类,这可避免暴露底层 PCF 头结构的详细信息。 PFMessageAgent 还提供了检查 PCF 响应的头内容并在响应指示错误时抛出 PCFException 的功能。 以下示例使用 PCFMessageAgent 来获取队列管理器上的本地队列列表。
         导入 com.ibm.mq.pcf. *;
    
         ...
    
         Try
         {
           PCFMessageAgent 代理程序 = 新的 PCFMessageAgent ("localhost" , 1414 , "CLIENT");
           PCFMessage 请求 = 新的 PCFMessage (CMQCFC.MQCMD_INQUIRE_Q_NAMES);
    
           request.addParameter (CMQC.MQCA_Q_NAME, "*");
           request.addParameter (CMQC.MQIA_Q_TYPE , MQC.MQQT_LOCAL);
    
           PCFMessage [] 响应 = agent.send (请求);
           字符串 [] 名称 = (String []) 响应 [0] .getParameterValue (CMQCFC.MQCACF_Q_NAMES);
    
           for (int i = 0; i < names.length; i++)
           {
             System.out.println ("队列:" + 姓名 [i]);
           }
         }
    
         捕获 (PCFException pcfe)
         {
           System.err.println ("PCF 错误:" + pcfe);
         }
    
         catch (MQException mqe)
         {
           System.err.println (mqe);
         }
    
         catch (IOException ioe)
         {
           System.err.println (ioe);
         }
    
     
    • 构造函数详细信息

      • PCFMessageAgent

        public PCFMessageAgent ()
        缺省构造函数。 初始化没有队列管理器连接的新 PCFMessageAgent。
      • PCFMessageAgent

        public PCFMessageAgent (MQ队列管理器 qmanager)
                        抛出 MQException
        使用现有队列管理器连接来初始化新的 PCFMessageAgent。
        参数:
        qmanager-现有队列管理器连接
        抛出:
        MQException-如果无法访问队列管理器
      • PCFMessageAgent

        public PCFMessageAgent (java.lang.String host ,
                               int port,
                               java.lang.String 通道)
                        抛出 MQException
        使用与队列管理器的客户机连接来初始化新的 PCFMessageAgent。
        参数:
        host-队列管理器所在的主机名或 IP 地址
        port-队列管理器侦听入局通道连接的端口
        channel-要用于连接的客户机通道
        抛出:
        MQException-如果无法建立连接
      • PCFMessageAgent

        public PCFMessageAgent (java.lang.String qmanager)
                        抛出 MQException
        使用与队列管理器的绑定连接来初始化新的 PCFMessageAgent。
        参数:
        qmanager-队列管理器的名称
        抛出:
        MQException-如果无法建立连接
    • 方法详细信息

      • 发送

        public PCFMessage[] send (PCFMessage 请求,
                                 布尔值检查)
                          抛出 PCFExceptionMQException,
                                 java.io.IOException
        不推荐使用。 使用 setCheckResponses 和 send (com.ibm.mq.pcf.PCFMessage)
        向已连接的队列管理器发送 PCF 请求并返回响应。
        参数:
        request-PCF 请求消息
        check-如果设置了此属性,那么代理程序将检查响应的 MQCFH 中的原因码,并在出现 MQRCCF_COMMAND_FAILED 时生成 PCFException
        返回:
        PCF 响应消息的数组。 单个 PCF 请求可以生成多个应答。
        抛出:
        PCFException-如果响应包含 MQRCCF_COMMAND_FAILED
        MQException-如果请求或响应有问题
        java.io.IOException-如果读或写有问题
        另请参阅:
        setCheckResponses(boolean), setUsePlatformSettings(boolean)
      • 发送

        public PCFMessage[] send (PCFMessage 请求,
                                 布尔检查,
                                 布尔值 usePlatformSettings)
                          抛出 PCFExceptionMQException,
                                 java.io.IOException
        不推荐使用。 使用 setCheckResponses/setUsePlatformSettings 和 send (com.ibm.mq.pcf.PCFMessage)
        向已连接的队列管理器发送 PCF 请求并返回响应。
        参数:
        request-PCF 请求消息
        check-如果设置了此属性,那么代理程序将检查响应的 MQCFH 中的原因码,并在出现 MQRCCF_COMMAND_FAILED 时生成 PCFException
        usePlatformSettings-
        返回:
        PCF 响应消息的数组。 单个 PCF 请求可以生成多个应答。
        抛出:
        PCFException-如果响应包含 MQRCCF_COMMAND_FAILED
        MQException-如果请求或响应有问题
        java.io.IOException-如果读或写有问题
        另请参阅:
        setCheckResponses(boolean), setUsePlatformSettings(boolean)
      • setCheckResponses

        public void setCheckResponses (布尔选项)
        如果设置了此选项,那么如果响应在 MQCFH 头中包含带有原因码 MQRCCF_COMMAND_FAILED 的 PCF 消息,那么 send 方法将抛出 PCFException。 缺省情况下,将设置此选项。
        参数:
        option-
      • setUsePlatformSettings

        public void setUsePlatformSettings (布尔选项)
        如果设置了此选项,那么发送方法会根据需要更改 PCFMessage 请求中包含的 MQCFH ,以与所连接队列管理器的平台相匹配。 例如,如果连接的队列管理器是 z/OS 队列管理器,并且请求 MQCFH 包含类型 MQCFT_COMMAND ,那么会发生此情况; 代理程序会将类型更改为类型 MQCFT_COMMAND_XR。 缺省情况下,将设置此选项。
        参数:
        option-
© Copyright IBM Corp. 2008 , 2016. All Rights Reserved.