(PECL sam >= 0.2.0)
SAMConnection::peekAll — Lit un ou plusieurs messages depuis la file d'attente sans les effacer
$target
[, array $properties
] )
targetL'identité de la file d'attente depuis laquelle les messages doivent être lus.
propertiesUn tableau associatif optionnel de propriétés décrivant les autres paramètres pour contrôler l'opération.
| Nom de la propriété | Valeurs possibles |
|---|---|
| SAM_CORRELID | C'est l'identifiant de corrélation des messages à lire. Ceci est typiquement retourné par la demande "send". |
| SAM_MESSAGEID | C'est l'identifiant du message à lire. |
Cette méthode retourne un tableau d'objets SAMMessage ou FALSE si une erreur survient.
Exemple #1 Récupération de tous les messages d'une file d'attente sans les effacer
<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
foreach ( $msgArray as $key => $msg) {
echo "Message $key: body = $msg->body\n";
}
} else {
echo "Échec de PeekAll ($conn->errno) $conn->error";
}
?>
Exemple #2 Récupération de tous les messages d'une file d'attente correspondant à un identifiant de corrélation
<?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 "Erreur de lecture : ($conn->errno) $conn->error";
}
?>