(PECL mqseries >= 0.10.0)
mqseries_get — MQSeries MQGET
$hConn
,$hObj
,&$md
,&$gmo
,&$bufferLength
,&$msg
,&$data_length
,&$compCode
,&$reason
The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call
hConn
连接句柄。
此句柄表示与队列管理器的连接。
hObj
对象句柄。
此句柄表示要使用的对象。
md
消息描述符 (MQMD)。
gmo
获取消息选项 (MQGMO)。
bufferLength
预期结果缓冲区的长度
msg
包含从对象检索到的消息的缓冲区。
data_length
实际缓冲区长度
compCode
完成代码。
reason
限定 compCode 的原因代码。
不返回值。
示例 #1 mqseries_get() 示例
<?php
// 打开与队列管理器的连接
mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn 现在保存与队列管理器的连接的引用。
// 打开与 testq 队列的连接
mqseries_open(
$conn,
array('ObjectName' => 'TESTQ'),
MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
$obj,
$comp_code,
$reason);
// $obj 现在保存对对象 (TESTQ) 的引用
// 设置空消息描述符。
$mdg = array();
// 设置获取消息选项
$gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);
// 从队列获取消息
mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
}
// 关闭对象引用 $obj
mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
// 从队列管理器断开连接。
mqseries_disc($conn, $comp_code, $reason);
?>