(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
// Открываем соединение с 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);
?>