Stomp::commit
PHP Manual
PHP Manual»Stomp»Stomp::commit

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commitCommits a transaction in progress

Опис

Об'єктно-орієнтований стиль (method):

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

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

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

Commits a transaction in progress.

Параметри

link

Тільки процедурний стиль: Ідентифікатор з'єднання Stomp, якого повертає функція stomp_connect().

transaction_id
The transaction id.
headers

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

Значення, що повертаються

Повертає true у разі успіху або false в разі помилки.

Приклади

Приклад #1 Об'єктно-орієнтований стиль

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
$stomp->commit('t1');

/* close connection */
unset($stomp);

?>

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

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
stomp_commit($link, 't1');

/* close connection */
stomp_close($link);

?>

Примітки

Підказка

Stomp за своєю суттю є асинхронним. Синхронні з'єднання можна встановлювати, додавши заголовок "receipt". Це призведе до того, що методи нічого не повертатимуть, доки сервер не підтвердить отримання повідомлення або доки не мине час очікування читання.

To Top