PHP 日本研討會 2024

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_getMQSeries MQGET

說明

mqseries_get(
    resource $hConn,
    resource $hObj,
    array &$md,
    array &$gmo,
    int &$bufferLength,
    string &$msg,
    int &$data_length,
    resource &$compCode,
    resource &$reason
):void

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);

?>

另請參閱

新增註記

使用者貢獻的註記

此頁面尚無使用者貢獻的註記。
To Top