(PECL mqseries >= 0.10.0)
mqseries_get — MQSeries MQGET
$hConn
,$hObj
,&$md
,&$gmo
,&$bufferLength
,&$msg
,&$data_length
,&$compCode
,&$reason
mqseries_get() (MQGET) 呼叫會從已使用 mqseries_open() (MQOPEN) 呼叫開啟的本機佇列中擷取訊息
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);
?>