English | 简体中文 | 繁體中文
查询

mqseries_put()函数—用法及示例

「 将消息放置到 IBM MQ 队列中 」


函数名:mqseries_put()

适用版本:PHP 4 >= 4.0.5, PHP 5, PHP 7

用法:mqseries_put(resource $hconn, resource $hobj, array &$md, array &$mpmo, string $msg, int &$comp_code, int &$reason)

说明:mqseries_put() 函数用于将消息放置到 IBM MQ 队列中。

参数:

  • $hconn: 一个连接到 MQ 队列管理器的资源句柄。
  • $hobj: 一个队列或主题对象的资源句柄。
  • $md: 存储消息描述符的数组。包含消息类型、优先级等信息。
  • $mpmo: 存储消息放置选项的数组。可以设置消息过期时间、消息放置顺序等。
  • $msg: 要放置到队列中的消息内容。
  • $comp_code: 用于返回 MQ 操作的完成代码。
  • $reason: 用于返回 MQ 操作的原因代码。

返回值:如果成功放置消息到队列中,则返回 TRUE,否则返回 FALSE。

示例:

<?php
// 连接到 MQ 队列管理器
$conn = mqseries_connx("QMGR");

// 打开一个队列
$queue = mqseries_open($conn, "QUEUE");

// 准备消息描述符
$md = [
    'MsgType' => MQSERIES_MQMT_DATAGRAM,
    'Persistence' => MQSERIES_MQPER_PERSISTENT,
    'Priority' => 1
];

// 准备消息放置选项
$mpmo = [
    'Options' => MQSERIES_MQPMO_NEW_MSG_ID | MQSERIES_MQPMO_SYNCPOINT
];

// 要放置的消息
$msg = "Hello, MQ Series!";

// 将消息放置到队列中
mqseries_put($conn, $queue, $md, $mpmo, $msg, $comp_code, $reason);

// 检查是否成功放置消息
if ($comp_code === MQSERIES_MQCC_OK) {
    echo "消息已成功放置到队列中。";
} else {
    echo "放置消息失败,原因代码: " . $reason;
}

// 关闭队列
mqseries_close($conn, $queue);

// 断开 MQ 连接
mqseries_disc($conn);
?>

以上示例演示了如何使用 mqseries_put() 函数将消息放置到队列中。首先,通过 mqseries_connx() 函数连接到 MQ 队列管理器,并通过 mqseries_open() 函数打开一个队列。然后,准备消息描述符和消息放置选项,设置消息的类型、持久性、优先级等信息。接着,调用 mqseries_put() 函数将消息放置到队列中。最后,通过检查完成代码和原因代码,判断消息是否成功放置到队列中,并关闭队列和断开 MQ 连接。

请注意,示例中的 "QMGR" 和 "QUEUE" 分别表示 MQ 队列管理器和队列的名称,你需要根据实际情况进行替换。另外,示例中使用的常量如 MQSERIES_MQMT_DATAGRAM、MQSERIES_MQPER_PERSISTENT 等也需要根据你的实际需求进行调整。

补充纠错
上一个函数: mqseries_put1()函数
下一个函数: mqseries_open()函数
热门PHP函数
分享链接