gpt4 book ai didi

ibm-mq - WebSphere Message Broker - 如何发送 PCF 消息

转载 作者:行者123 更新时间:2023-12-01 02:58:40 26 4
gpt4 key购买 nike

我们需要从 MB 流发出一些 MQ 命令。要走的路是发送 PCF 命令,但我不知道如何创建它。任何指针?塞巴斯蒂安。

最佳答案

要通过 PCF 消息向 MQ 队列管理器发出命令,您可以查看 *nix 上的/opt/mqm/samp/pcf/samples 中的示例或安装 MQ 的任何位置。 (在 Windows 上尝试“C:\Program Files (x86)\IBM\WebSphere MQ\tools\pcf\samples”)。

要从代理发出命令,您可以使用 Java 计算节点并使用提供的 Java 包 com.ibm.mq 中的方法,例如发送查询以找出队列管理器上定义的队列:

import com.ibm.mq.headers.pcf.PCFMessageAgent;
import com.ibm.mq.headers.pcf.PCFMessage;
import com.ibm.mq.constants.MQConstants;

try
{
// local queue manager
String queueManager = "QMGR_broker"; // local queue manager name
PCFMessageAgent agent = new PCFMessageAgent(queueManager);

// remote queue manager
String host = "localhost"; // host name of the queue manager machine
int port = 1414; // default queue manager tcp listener port
String channel = "SYSTEM.DEF.SVRCONN";//Default channel
PCFMessageAgent agent = new PCFMessageAgent(host, port, channel);

// Create the PCF message type for the inquire.
PCFMessage pcfCmd = new PCFMessage(MQConstants.MQCMD_INQUIRE_Q_NAMES);
// Queue name = wildcard.
pcfCmd.addParameter(MQConstants.MQCA_Q_NAME, "*");
// Queue type = ALL.
pcfCmd.addParameter(MQConstants.MQIA_Q_TYPE, MQConstants.MQQT_ALL);

// Execute the command. The returned object is an array of PCF messages.
PCFMessage[] pcfResponse = pcfCM.agent.send(pcfCmd);

// e.g. extract the queue names from the response object
String[] names = (String[])pcfResponse[0].getParameterValue(MQConstants.MQCACF_Q_NAMES);
}

或者,您可以将 PCF 消息放在 MQ 队列(如果您使用的不是 z/OS,则为 SYSTEM.ADMIN.COMMAND.QUEUE),队列管理器正在监听其上的事件。然后您还需要在消息中定义一个“回复”队列。您可以从具有 MQOutput 节点的代理执行此操作。

然而,这意味着您需要知道 exact format of the PCF message您要发送的内容及其回复的内容,我认为使用提供的 Java 示例为您进行消息处理和格式化要容易得多。

关于ibm-mq - WebSphere Message Broker - 如何发送 PCF 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com