(PECL mqseries >= 0.10.0)
mqseries_get — MQSeries MQGET
$hConn
, resource $hObj
, array &$md
, array &$gmo
, int &$bufferLength
, string &$msg
, int &$data_length
, resource &$compCode
, resource &$reason
) : voidThe 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
// Открываем соединение с MQ
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);
?>