(PECL sam >= 0.2.0)
SAMConnection::peekAll — Read one or more messages from a queue without removing it from the queue
$target
[, array $properties
] ) : array
targetThe identity of the queue from which messages should be peeked.
propertiesAn optional associative array of properties describing other parameters to control the peek operation.
| Property name | Possible values |
|---|---|
| SAM_CORRELID | This is the target correlation id string of messages to be peeked. This would typically have been returned by a "send" request. |
| SAM_MESSAGEID | This is the message id string of a message which is to be peeked. |
This method returns an array of SAMMessage objects or FALSE if an error
occurs.
Exemplo #1 Retrieve all messages in a queue without removing them
<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
foreach ( $msgArray as $key => $msg) {
echo "Message $key: body = $msg->body\n";
}
} else {
echo "PeekAll failed ($conn->errno) $conn->error";
}
?>
Exemplo #2 Retrieve all messages from a queue with a matching correlation id
<?php
$msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
if ($msgArray) {
foreach ( $msgArray as $key => $msg) {
echo "Message $key: body = $msg->body\n";
}
} else {
echo "PeekAll failed ($conn->errno) $conn->error";
}
?>