(PECL stomp >= 0.1.0)
Stomp::abort -- stomp_abort — Rolls back a transaction in progress
Stil obiect-orientat (method):
$transaction_id
[, array $headers
] ) : boolStil procedural:
$link
, string $transaction_id
[, array $headers
] ) : boolRolls back a transaction in progress.
link
Doar stilul procedural: Identificatorul legăturii stomp întors de stomp_connect().
transaction_id
The transaction to abort.
headers
Un tablou asociativ conținând antetele suplimentare (de exemplu: receipt).
Întoarce valoarea TRUE
în cazul
succesului sau FALSE
în cazul eșecului.
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.
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'));
/* rollback */
$stomp->abort('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'));
/* rollback */
stomp_abort($link, 't1');
/* close connection */
stomp_close($link);
?>