Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commitВыполняет текущую транзакцию

Описание

Объектно-ориентированный стиль (метод):

public Stomp::commit ( string $transaction_id , array $headers = ? ) : bool

Процедурный стиль:

stomp_commit ( resource $link , string $transaction_id , array $headers = ? ) : bool

Выполняет текущую транзакцию.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

transaction_id

Идентификатор транзакции.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничего не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    
$stomp = new Stomp('tcp://localhost:61613');
} catch(
StompException $e) {
    die(
'Ошибка соединения: ' $e->getMessage());
}

/* Начало транзакции */
$stomp->begin('t1');

/* отправка сообщения в очередь */
$stomp->send('/queue/foo''bar', array('transaction' => 't1'));

/* выполнение транзакции */
$stomp->commit('t1');

/* закрытие подключения */
unset($stomp);

?>

Пример #2 Процедурный стиль

<?php

/* подключение */
$link stomp_connect('tcp://localhost:61613');

/* проверка подключения */
if (!$link) {
    die(
'Ошибка соединения: ' stomp_connect_error());
}

/* Начало транзакции */
stomp_begin($link't1');

/* Отправка сообщения в очередь 'foo' */
stomp_send($link'/queue/foo''bar', array('transaction' => 't1'));

/* Выполнение транзакции */
stomp_commit($link't1');

/* Закрытие изменения */
stomp_close($link);

?>