 |
SAMConnection::send() (no version information, might be only in CVS) SAMConnection::send() --
Send a message to a queue or publish an item to a topic.
Descrizione
The "send" method is used to send a message to a specific queue or to publish to a specific topic. The method returns a correlation id that can be used as a selector to identify reply or response messages when these are requested.
class SAMConnection { string send ( string target, SAMMessage msg [, array properties] ) } Elenco dei parametri
- target
If sending a message, the identity of the queue (queue://queuename) or if publishing to a topic the identity of the topic (topic://topicname) to which the message is to be delivered.
- msg
The message to be sent or published.
- properties
An optional associative array of properties describing other parameters to control the receive operation.
Valori restituiti
A correlation id string that can be used in a subsequent receive call as a selector to obtain any reply or response that has been requested or FALSE if an error occurred.
Note: a correlation id will only be returned for a successful send to a queue destination (queue://xxxx) in which case it
will reflect the message identitiy of the message on the queue. In the case of a send being used to publish data to a
topic the return value will be TRUE as no correlation id is availabe for return.
Esempi
Esempio 1. Send a message to a queue
<?php $msg = new SAMMessage('This is a simple text message'); $correlId = $conn->send('queue://send/test', $msg); if (!$correlId) { // The send failed! echo "Send failed ($conn->errno) $conn->error"; }
?>
|
|
Esempio 2. Publish a message to a topic
<?php $msg = new SAMMessage('This is a simple text item'); if (!$conn->send('topic://test', $msg)) { // The Send failed! echo "Send failed ($conn->errno) $conn->error"; } ?>
|
|
Esempio 3. Send a request and receive a response
<?php $msg = new SAMMessage('This is a simple text message'); $msg->header->SAM_REPLY_TO = 'queue://receive/test'; $correlid = $conn->send('queue://send/test', $msg);
if (!$correlid) { // The Send failed! echo "Send failed ($conn->errno) $conn->error"; } else { $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid)); } ?>
|
|
|  |