SAMConnection::receive
Recibir un mensaje de una cola o de una suscripción.
&reftitle.description;
SAMMessageSAMConnection::receive
stringtarget
arrayproperties
&reftitle.parameters;
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.
&reftitle.returnvalues;
Este método devuelve un objeto SAMMessage o &false; en caso de error.
&reftitle.examples;
Recepción de un mensaje de una cola
receive('queue://receive/test');
if (!$msg) {
// The receive failed!
echo "Receive failed ($conn->errno) $conn->error";
}
?>
]]>
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.
receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));
?>
]]>
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.
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.
&reftitle.seealso;