SAMConnection::receive

(PECL sam >= 0.1.0)

SAMConnection::receive Recibir un mensaje de una cola o de una suscripción.

Descripción

SAMConnection::receive ( string $target [, array $properties ] ) : SAMMessage

Parámetros

target

La identidad de la cola, asunto o suscripción de la que se recibe el mensaje.

properties

Un array asociativo opcional de propiedades, que describen otros parámetros para controlar la operación de recepción.

Nombre de la propiedad Valores posibles
SAM_CORRELID Utilizado para solicitar la recepción de un mensaje, basado en el identificador de correlación del mensaje.
SAM_MESSAGEID Utilizado para solicitar la recepción de un mensaje, basado en el identificador del mensaje.
SAM_WAIT Tiempo límite en milisegundos para controlar el tiempo de espera de recepción del mensaje, antes de devolver un error si no hay ningún mensaje disponible en la cola o asunto. El valor por defecto es 0, que significa esperar indefinidamente y debe ser usado con precaución puesto que la petición esperará hasta el tiempo límite de ejecución del script PHP si ningún mensaje está disponible.

Valores devueltos

Este método devuelve un objeto SAMMessage o FALSE en caso de error.

Ejemplos

Ejemplo #1 Recepción de un mensaje de una cola

<?php
$msg 
$conn->receive('queue://receive/test');

if (!
$msg) {
  
// The receive failed!
  
echo "Receive failed ($conn->errno$conn->error";
}
?>

Ejemplo #2 Recepción de un mensaje de una cola con opciones

En este ejemplo, la opción SAM_CORRELID se utiliza para especificar un identificador de correlación, que se utilizará para identificar el mensaje a recibir. También se especifica un tiempo límite de espera de 10 segundos.

<?php

$msg 
$conn->receive('queue://receive/test', array(SAM_CORRELID => $tokenSAM_WAIT => 10000));

?>

Ejemplo #3 Recepción de un mensaje de una suscripción

En este ejemplo se muestra cómo recibir un mensaje desde un identificador de suscripción.

<?php
$msg 
$conn->receive($subscriptionName);

if (!
$msg) {
  
// La recepción falló!
  
echo "Recepción fallida ($conn->errno$conn->error";
}
?>

Observe que $subscriptionName es un identificador de suscripción devuelto desde una llamada anterior a una suscripción.

Ver también