com.ibm.mq.headers.pcf

类 PCFMessageAgent



  • 公共类 PCFMessageAgent
    扩展 PCFAgent
    用于将 PCF 查询发送到队列管理器的通用代理程序。 与它所扩展的 PCFAgent 一样, PCFMessageAgent 会维护单个队列管理器连接,并提供用于发送 PCF 请求和返回响应消息集的简单方法。 PCFMessageAgent 将 PCFMessage 类用于请求和应答,这将避免暴露底层 PCF 头结构的详细信息。 PCFMessageAgent 还提供了检查 PCF 响应的头内容以及在响应指示错误时抛出 PCFException 的功能。 以下示例使用 PCFMessageAgent 来获取队列管理器上本地队列的列表。
         导入 com.ibm.mq.headers.pcf. *;
    
         ...
    
         尝试
         {
           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 [] names = (String []) 响应 [0].getParameter值 (CMQCFC.MQCACF_Q_NAMES);
    
           for (int i = 0; i < names.length; i++)
           {
             System.out.println ("队列:" + 姓名 [i]);
           }
         }
    
         捕获 (PCFException pcfe)
         {
           System.err.println ("PCF 错误:" + pcfe);
         }
    
         catch (MQDataException mqe)
         {
           System.err.println (mqe);
         }
    
         catch (IOException ioe)
         {
           System.err.println (ioe);
         }
    
     
    • 构造函数详细信息

      • PCFMessageAgent

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

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

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

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

      • 发送

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

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

        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.