PHP Conference Nagoya 2025

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, если возникла ошибка.

Примеры

Пример #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);

?>

Примечания

Подсказка

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top