(PECL sam >= 0.2.0)
SAMConnection::peekAll — Lit un ou plusieurs messages depuis la file d'attente sans les effacer
$target
[, array $properties
] )
target
L'identité de la file d'attente depuis laquelle les messages doivent être lus.
properties
Un 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";
}
?>