(PECL stomp >= 0.1.0)
Stomp::commit -- stomp_commit — Validar una transacción en curso
Estilo orientado a objetos (método):
$transaction_id
[, array $headers
] ) : boolEstilo por procedimientos:
$link
, string $transaction_id
[, array $headers
] ) : boolValida una transacción en curso.
linkSólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().
transaction_idLa identificación de la transacción.
headersArray asociativo conteniendo los headers adicionales (ejemplo: receipt).
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Stomp es inherentemente asíncrono. Comunicación sincrónica puede ser implementada agregando un header receipt. Esto ocasionará métodos para no devolver nada hasta que el servidor haya recibido un Acknowledgment del mensaje o hasta que el tiempo de espera para lectura se agote.
Ejemplo #1 Estilo orientado a objetos
<?php
/* conexión */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
/* iniciar una transacción */
$stomp->begin('t1');
/* enviar un mensaje a la cola */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));
/* validar */
$stomp->commit('t1');
/* cerrar la conexión */
unset($stomp);
?>
Ejemplo #2 Estilo por procedimientos
<?php
/* conexión */
$link = stomp_connect('tcp://localhost:61613');
/* comprobar la conexión */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}
/* iniciar una transacción */
stomp_begin($link, 't1');
/* enviar un mensaje a la cola 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));
/* validar */
stomp_commit($link, 't1');
/* cerrar la conexión */
stomp_close($link);
?>