(PECL stomp >= 0.1.0)
Stomp::abort -- stomp_abort — Rolls back a transaction in progress
Styl obiektowy (method):
$transaction_id
[, array $headers
] ) : boolStyl proceduralny:
$link
, string $transaction_id
[, array $headers
] ) : boolRolls back a transaction in progress.
link
Tylko styl proceduralny: identyfikator połączenia stomp zwracany przez stomp_connect().
transaction_id
The transaction to abort.
headers
Tablica wielowymiarowa zawierająca dodatkowe nagłówki (na przykład: receipt).
Zwraca TRUE
w przypadku powodzenia, FALSE
w
przypadku błędu.
Stomp jest z natury asynchroniczny. Komunikacja synchroniczna może być uzyskana przez dodanie nagłówka receipt (otrzymanie). Spowoduje to, że metody nie będą niczego zwracać, dopóki serwer nie potwierdzi otrzymania wiadomości lub dopóki nie zostanie osiągnięty limit czasowy odczytu.
Przykład #1 Styl obiektowy
<?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);
?>
Przykład #2 Styl proceduralny
<?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);
?>