Rechercher une fonction PHP

SAMConnection::send

(PECL sam >= 0.1.0)

SAMConnection::send Envoie un message à une file d'attente ou le publie sur un sujet

Description

SAMConnection::send ( string $target , SAMMessage $msg [, array $properties ] ) : string

La méthode "send" est utilisée pour envoyer un message à une file d'attente spécifique ou le publier à un sujet spécifique. La méthode retourne l'identifiant de corrélation qui peut être utilisé comme sélecteur pour identifier les messages réponses.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

target

Si l'on envoie un message, ce sera l'identité de la file d'attente (queue://queuename) ou, si on le publie à un sujet spécifique, l'identité du sujet (topic://topicname) auquel le message doit être délivré.

msg

Le message à envoyer ou à publier.

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 de la propriété
SAM_DELIVERYMODE Indique si le serveur de messagerie doit s'assurer de la délivrance du message ou s'il accepte que les messages soient perdus en cas de défaillance du serveur de messagerie. La valeur de cette propriété peut être définie soit à SAM_PERSISTENT, pour indiquer que la perte des messages n'est pas acceptable, soit à SAM_NON_PERSISTENT si la perte de messages est acceptable. Le comportement résultant de l'envoi dépendra des capacités du serveur de messagerie auquel est connecté le script PHP. Si le serveur ne supporte pas les messages persistants et que SAM_PERSISTENT est spécifié, l'envoi échouera avec une erreur indiquant que la fonctionnalité n'est pas disponible.
SAM_PRIORITY Une valeur numérique entre 0 et 9 indique la priorité de délivrance du message. Une valeur de priorité de 0 indique une priorité basse, alors que 9 indique une priorité haute. Si aucune priorité n'est spécifiée, une valeur par défaut sera passée, dépendant du serveur de messagerie utilisé.
SAM_CORRELID Une chaîne à assigner comme identifiant de corrélation pour ce message. Si aucune valeur n'est fournie, le serveur de messagerie peut assigner une valeur automatiquement.
SAM_TIMETOLIVE Une durée, en millisecondes, indiquant combien de temps le serveur de messagerie doit retenir le message dans une file d'attente avant de le jeter. La valeur par défaut est 0 indiquant que le message doit être retenu indéfiniment.
SAM_WMQ_TARGET_CLIENT Cette propriété n'est valide que lors de l'utilisation de WebSphere MQ et indique si l'on doit inclure un en-tête RFH2 dans le message. Cette option doit être définie à 'jms' ou 'mq'. Par défaut, elle vaut 'jms' ce qui signifie que l'en-tête RFH2 est incluse. Si la valeur 'mq' est spécifiée, alors, aucun en-tête RFH2 ne sera inclus dans le message.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Un identifiant de corrélation qui peut être utilisé dans un appel de réception en tant que sélecteur pour obtenir toutes les réponses, ou FALSE si une erreur survient.

Note:

Note : un identifiant de corrélation ne sera retourné qu'en cas d'un envoi réussi à une file d'attente (queue://xxxx) et dans ce cas, sera l'identité du message sur la file d'attente. Si l'envoi est destiné à publier des données, la valeur retournée sera TRUE, car aucun identifiant de corrélation ne sera disponible.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Envoi d'un message à une file d'attente

<?php
$msg 
= new SAMMessage('Ceci est un message simple');
$correlId $conn->send('queue://send/test'$msg);
if (!
$correlId) {
    
// L'envoi a échoué !
    
echo "L'envoi a échoué : ($conn->errno$conn->error";
}

?>

Exemple #2 Publication d'un message sur un sujet

<?php
$msg 
= new SAMMessage('Ceci est un élément simple');
if (!
$conn->send('topic://test'$msg)) {
    
// L'envoi a échoué !
    
echo "L'envoi a échoué : ($conn->errno$conn->error";
}
?>

Exemple #3 Envoi une demande et réceptionne la réponse

<?php
$msg 
= new SAMMessage('Ceci est un message simple');
$msg->header->SAM_REPLY_TO 'queue://receive/test';
$correlid $conn->send('queue://send/test'$msg);

if (!
$correlid) {
    
// L'envoi a échoué !
    
echo "L'envoi a échoué : ($conn->errno$conn->error";
} else {
    
$resp $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Rechercher une fonction PHP

Version en cache

25/11/2024 05:23:13 Cette version de la page est en cache (à la date du 25/11/2024 05:23:13) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-samconnection.send.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut