(PECL mqseries >= 0.10.0)
mqseries_put — MQSeries MQPUT
$hConn
, resource $hObj
, array &$md
, array &$pmo
, string $message
, resource &$compCode
, resource &$reason
) : voidФункция mqseries_put() (MQPUT) помещает сообщение в очередь или список распределения. Очередь, или список распределения, должна быть открыты.
hConn
Обработчик соединения.
Представляет открытое соединение с менеджером очередей.
hObj
Обработчик объекта.
Представляет используемый объект.
md
Дескриптор сообщения (MQMD).
pmo
Опции добавляемого сообщения (MQPMO).
message
Само сообщение.
compCode
Код завершения.
reason
Код причины, квалифицирующий compCode.
Эта функция не возвращает значения после выполнения.
Пример #1 Пример использования mqseries_put()
<?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)
// Настраиваем массив дескриптора сообщения. Читайте руководство MQSeries.
$md = array(
'Version' => MQSERIES_MQMD_VERSION_1,
'Expiry' => MQSERIES_MQEI_UNLIMITED,
'Report' => MQSERIES_MQRO_NONE,
'MsgType' => MQSERIES_MQMT_DATAGRAM,
'Format' => MQSERIES_MQFMT_STRING,
'Priority' => 1,
'Persistence' => MQSERIES_MQPER_PERSISTENT);
// Настраиваем опции добавления сообщения.
$pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);
// кладем сообщение 'Ping' в очередь.
mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
// Закрываем обработчик объекта $obj
mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
// Закрываем соединение с менеджером.
mqseries_disc($conn, $comp_code, $reason);
?>