Stomp::commit
stomp_commit
(PECL stomp >= 0.1.0)
Stomp::commit -- stomp_commit — Commits a transaction in progress
Descrierea
Stil obiect-orientat (method):
$transaction_id
[, array $headers
] )Stil procedural:
$link
, string $transaction_id
[, array $headers
] )Commits a transaction in progress.
Parametri
-
link -
Doar stilul procedural: Identificatorul legăturii stomp întors de stomp_connect().
-
transaction_id -
The transaction id.
-
headers -
Un tablou asociativ conținând antetele suplimentare (de exemplu: receipt).
Valorile întoarse
Întoarce valoarea TRUE în cazul
succesului sau FALSE în cazul eșecului.
Note
Stomp este în mod inerent asincron. O comunicare sincronă poate fi implementată adăugând un antet cu confirmare. Aceasta va face ca metodele să nu întoarcă nimic până când serverul confirmă primirea mesajului sau până când se atinge limita maximă de timp pentru citire.
Exemple
Example #1 Stil obiect-orientat
<?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);
?>
Example #2 Stil procedural
<?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);
?>
