(PECL mqseries >= 0.10.0)
mqseries_get — MQSeries MQGET
mqseries_get() (MQGET) は、 mqseries_open() (MQOPEN) を使用してオープンしたローカルキューからメッセージを取得します。
接続ハンドル。
このハンドルは、キューマネージャへの接続を表します。
オブジェクトハンドル。
このハンドルは、使用するオブジェクトを表します。
メッセージ記述子 (MQMD)。
Get メッセージのオプション (MQGMO)。
想定する結果バッファの長さ。
オブジェクトから取得したメッセージを保持するバッファ。
実際のバッファの長さ。
完了コード。
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();
// Get メッセージのオプションを設定します
$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));
}
// キューマネージャへの接続をオープンします
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) を指すようになります
?>