Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commitValidar una transacción en curso

Descripción

Estilo orientado a objetos (método):

public Stomp::commit ( string $transaction_id [, array $headers ] ) : bool

Estilo por procedimientos:

stomp_commit ( resource $link , string $transaction_id [, array $headers ] ) : bool

Valida una transacción en curso.

Parámetros

link

Sólo estilo por procediminetos: El identificador de enlace Stomp devuelto por stomp_connect().

transaction_id

La identificación de la transacción.

headers

Array asociativo conteniendo los headers adicionales (ejemplo: receipt).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Sugerencia

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.

Ejemplos

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);

?>