SAMConnection::send
Envía un mensaje a una cola o lo publica en un asunto.
&reftitle.description;
stringSAMConnection::send
stringtarget
SAMMessagemsg
arrayproperties
El método "send" se utiliza para enviar un mensaje a una cola específica o
publicarlo en un asunto específico. El método devuelve el identificador de correlación, que puede
ser utilizado como un selector para identificar los mensajes respondidos cuando éstos
sean solicitados.
&reftitle.parameters;
target
Si enviamos un mensaje, esta será la identidad de la cola (queue://queuename)
o si lo publicamos en un asunto, la identidad del asunto
(topic://topicname) al cual el mensaje va a ser enviado.
msg
El mensaje a enviar o publicar.
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_DELIVERYMODE
Indica si el servidor de mensajería debe asegurar la entrega o
si es aceptable que los mensajes se pierdan en caso de
fallo de sistema. El valor de esta propiedad debe fijarse a
SAM_PERSISTENT, para indicar que la pérdida
del mensaje no es aceptable, o
SAM_NON_PERSISTENT, si la pérdida del mensaje es
aceptable. El comportamiento resultante del envío variará
dependiendo de las funcionalidades del servidor de mensajería al que esté conectado
actualmente el script PHP. Si el servidor no soporta
los mensajes persistentes y SAM_PERSISTENT es
especificado, la petición de envío fallará con un error
indicando que la funcionalidad no está disponible.
SAM_PRIORITY
Un valor numérico entre 0 y 9 que indica la prioridad de envío del mensaje
deseada. Un valor de prioridad de 0 indica la menor
prioridad mientras que 9 indica la mayor prioridad. Si no se especifica prioridad,
se asignará un valor por defecto que dependerá del
servidor de mensajería que está siendo utilizado.
SAM_CORRELID
Una cadena a asignar como el identificador de correlación para este mensaje. Si
no se especifica ningún valor, el servidor de mensajería puede asignar un valor
automáticamente.
SAM_TIMETOLIVE
La duración en milisegundos que indica cuanto tiempo el servidor de mensajería
debe retener el mensaje en una cola antes de descartarlo. El
valor por defecto es 0 indicando que el mensaje debe retenerse
indefinidamente.
SAM_WMQ_TARGET_CLIENT
Esta propiedad es válida únicamente cuando se utilice WebSphere MQ e indica
si la cabecera RFH2 debe incluirse o no dentro del
mensaje. Esta opción puede definirse con 'jms' o 'mq'. El
valor por defecto es 'jms' que significa que se incluye una cabecera RFH2.
Si se especifica el valor 'mq' entonces no se incluye RFH2 en el
mensaje.
&reftitle.returnvalues;
Una cadena con el identificador de correlación que puede utilizarse en una llamada de recepción, como
selector para obtener todas las respuestas solicitadas o &false;
en caso de error.
Un identificador de correlación sólo será devuelto por un envío con éxito a la cola
de destinación (queue://xxxx) y en ese caso reflejará la identidad
del mensaje de la cola. En caso de un envio que esté siendo utilizado
para publicar datos en un asunto, el valor de retorno será &true; puesto que ningún
identificador de correlación estará disponible para ser devuelto.
&reftitle.examples;
Enviar un mensaje a una cola
send('queue://send/test', $msg);
if (!$correlId) {
// El envío falló!
echo "Envío fallido ($conn->errno) $conn->error";
}
?>
]]>
Publicar un mensaje en un asunto
send('topic://test', $msg)) {
// El envío falló!
echo "Envío fallido ($conn->errno) $conn->error";
}
?>
]]>
Enviar una solicitud y recibir una respuesta
header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);
if (!$correlid) {
// El envío falló!
echo "Envío fallido ($conn->errno) $conn->error";
} else {
$resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>
]]>
&reftitle.seealso;