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

mqseries_open()函数—用法及示例

「 打开一个与 IBM MQ 队列管理器的连接 」


函数名称:mqseries_open()

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

函数说明:mqseries_open() 函数用于打开一个与 IBM MQ 队列管理器的连接。

语法:resource mqseries_open ( array $qmgrobj, string $queueName, int $options, string &$compCode, string &$reason )

参数:

  • qmgrobj:一个关联数组,包含连接 IBM MQ 队列管理器所需的参数。数组包含以下键值对:
    • MQSERIES_Q_MANAGER:队列管理器名称。
    • MQSERIES_CONN_NAME:连接名称。
    • MQSERIES_CHANNEL:通道名称。
    • MQSERIES_TRANSPORT:传输类型(例如:TCP)。
  • queueName:要打开的队列名称。
  • options:选项参数,指定打开队列的方式。可以使用以下常量进行设置:
    • MQSERIES_MQOO_INPUT_AS_Q_DEF:打开队列以便从中读取消息。
    • MQSERIES_MQOO_OUTPUT:打开队列以便向其中写入消息。
    • MQSERIES_MQOO_INQUIRE:允许查询队列属性。
    • MQSERIES_MQOO_SET:允许设置队列属性。
    • MQSERIES_MQOO_BROWSE:打开队列以便浏览消息。
    • MQSERIES_MQOO_FAIL_IF_QUIESCING:如果队列管理器停止,则打开队列失败。
  • compCode:一个引用参数,用于返回操作的完成代码。如果操作成功,将返回 MQSERIES_MQCC_OK。
  • reason:一个引用参数,用于返回操作失败的原因。

返回值:如果成功打开了队列,将返回一个队列句柄(资源类型),否则返回 FALSE。

示例:

<?php
$qmgrobj = array(
    MQSERIES_Q_MANAGER => 'QMGR_NAME',
    MQSERIES_CONN_NAME => 'localhost(1414)',
    MQSERIES_CHANNEL => 'CHANNEL_NAME',
    MQSERIES_TRANSPORT => 'TCP',
);

$queueName = 'QUEUE_NAME';
$options = MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_OUTPUT;

$compCode = '';
$reason = '';

$queue = mqseries_open($qmgrobj, $queueName, $options, $compCode, $reason);

if ($queue !== false) {
    echo '队列打开成功!';
    // 在此进行队列操作,如读取消息、写入消息等
    // ...

    mqseries_close($queue, MQSERIES_MQCO_NONE);
} else {
    echo '队列打开失败!错误原因:' . $reason;
}
?>

以上示例展示了如何使用 mqseries_open() 函数打开一个与 IBM MQ 队列管理器的连接,并进行相关队列操作。请根据实际情况修改示例中的参数值。

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