com.ibm.mq.headers.pcf
类 PCFMessageAgent
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.headers.pcf.PCFAgent
- 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); }
-
字段摘要
-
从类 com.ibm.mq.headers.pcf.PCFAgent 继承的字段
MAXIMUM_ALLOWED_PREFIX_LENGTH, replyQueueName
-
-
构造函数摘要
构造函数 构造函数和描述 PCFMessageAgent()缺省构造函数。PCFMessageAgent(MQQueueManager qmanager)使用现有队列管理器连接来初始化新的 PCFMessageAgent 。PCFMessageAgent(java.lang.String qmanager)使用与队列管理器的绑定连接来初始化新的 PCFMessageAgent 。PCFMessageAgent(java.lang.String host, int port, java.lang.String channel)使用与队列管理器的客户机连接来初始化新的 PCFMessageAgent 。
-
方法概要
所有方法 实例方法 具体方法 不推荐的方法 修饰符和类型 方法和描述 PCFMessage[]send(PCFMessage request)向已连接的队列管理器发送 PCF 请求并返回响应。PCFMessage[]send(PCFMessage request, boolean check)不推荐使用。使用 setCheckResponses 并发送 (com.ibm.mq.headers.pcf.PCFMessage)PCFMessage[]send(PCFMessage request, boolean check, boolean usePlatformSettings)不推荐使用。使用 setCheckResponses/setUsePlatformSettings 并发送 (com.ibm.mq.headers.pcf.PCFMessage)voidsetCheckResponses(boolean option)如果设置了此选项,那么如果响应在 MQCFH 头中包含带有原因码 MQRCCF_COMMAND_FAILED 的 PCF 消息,那么 send 方法将抛出 PCFException。voidsetUsePlatformSettings(boolean option)如果设置了此选项,那么发送方法会根据需要更改 PCFMessage 请求中包含的 MQCFH ,以与所连接队列管理器的平台相匹配。-
从类 com.ibm.mq.headers.pcf.PCFAgent 继承的方法
connect, connect, connect, connect, connect, connect, disconnect, getCommandLevel, getExpiry, getJmqiEnv, getModelQueueName, getPlatform, getQManagerName, getReplyQueueName, getReplyQueuePrefix, getWaitInterval, send, setCharacterSet, setEncoding, setModelQueueName, setReplyQueuePrefix, setWaitInterval, setWaitInterval
-
-
-
构造函数详细信息
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 请求) 抛出 PCFException, MQDataException, java.io.IOException
向已连接的队列管理器发送 PCF 请求并返回响应。- 参数:
request-PCF 请求消息- 返回:
- PCF 响应消息的数组。 单个 PCF 请求可以生成多个应答。
- 抛出:
PCFException-如果响应指示 PCF 处理中发生错误MQDataException-如果请求或响应存在问题java.io.IOException-如果读写有问题- 另请参阅:
setCheckResponses(boolean),setUsePlatformSettings(boolean)
发送
public PCFMessage[] send (PCFMessage 请求, 布尔值检查) 抛出 PCFException, MQDataException, java.io.IOException
不推荐使用。 使用 setCheckResponses 并发送 (com.ibm.mq.headers.pcf.PCFMessage)向已连接的队列管理器发送 PCF 请求并返回响应。- 参数:
request-PCF 请求消息check-如果设置了此属性,那么代理程序将检查响应的 MQCFH 中的原因码,并在出现 MQRCCF_COMMAND_FAILED 时生成 PCFException- 返回:
- PCF 响应消息的数组。 单个 PCF 请求可以生成多个应答。
- 抛出:
PCFException-如果响应包含 MQRCCF_COMMAND_FAILEDMQDataException-如果请求或响应存在问题java.io.IOException-如果读写有问题- 另请参阅:
setCheckResponses(boolean),setUsePlatformSettings(boolean)
发送
public PCFMessage[] send (PCFMessage 请求, 布尔检查, 布尔 usePlatform设置) 抛出 PCFException, MQDataException, java.io.IOException
不推荐使用。 使用 setCheckResponses/setUsePlatformSettings 并发送 (com.ibm.mq.headers.pcf.PCFMessage)向已连接的队列管理器发送 PCF 请求并返回响应。- 参数:
request-PCF 请求消息check-如果设置了此属性,那么代理程序将检查响应的 MQCFH 中的原因码,并在出现 MQRCCF_COMMAND_FAILED 时生成 PCFExceptionusePlatformSettings-- 返回:
- PCF 响应消息的数组。 单个 PCF 请求可以生成多个应答。
- 抛出:
PCFException-如果响应包含 MQRCCF_COMMAND_FAILEDMQDataException-如果请求或响应存在问题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-
-