$jms.read¶
Description¶
Lit un ou plusieurs messages depuis une queue ou un topic JMS
Syntaxe¶
$jms.read( options )
Paramètres¶
optionsmap-
Map pouvant contenir les options suivantes:
connectionstring- Nom de connexion définie dans le fichier de configuration. Fait
référence à un
named'entréejms.connectiondu config. timeoutnumber-
Délai d'attente max, en millisecondes
Le délai d'attente par défaut est de 1000 (1 seconde). Si la valeur est nulle (0) ou négative, la méthode se met en attente tant que la queue ne fournit pas de message. Veuillez noter que cela peut mettre l'exécution du script en attente indéfiniment.
maxcountnumber-
Nombre de messages maximum à lire. La valeur par défaut est 1.
Une valeur inférieure à 0 signifie que l'on ne met pas de limite sur le nombre de messages lus (on lit la queue ou le topic tant que l'on reçoit des messages).
La méthode retourne un
arrayde message simaxcountcontient une valeur supérieure à 1 (indépendamment du nombre de messages réellement reçus). typestring- Type de source JMS. Les valeurs possibles sont
queueoutopic. La valeur par défaut estqueue. namestring- Nom de la queue ou du topic JMS
urlstring- URL de la queue ou du topic JMS
usernamestring- Nom d'utilisateur à utiliser pour la connexion
passwordstring- Mot de passe associé au nom d'utilisateur
Retour¶
Retourne un objet unique si maxcount est égal à 1 (ou non défini).
Retourne un array d'objets si maxcount est supérieur à 1.
Retourne null si la queue ou le topic ne contient ou ne délivre aucun
message.
Exemple¶
Exemple d'envoi et de lecture de messages vers et depuis une queue JMS.
// envoi de 3 messages
for (var i = 1; i <= 3; ++i) {
var res = $jms.send("msg ${i}", {
connection: "test"
});
$logger.info(res);
}
// envoi de 2 messages supplémentaires groupés
var res = $jms.send(["msg 4", "msg 5"], {
url: "tcp://localhost:61616",
name: "test.queue"
});
$logger.info(res);
var msg = $jms.read({
connection: "test",
maxcount: 10
});
$logger.info(msg);
L'exemple ci-dessus utilise différentes façons de spécifier les paramètres de connexion. Il fonctionne à condition qu'une connection "test" soit définie dans la config :
<jms>
<connection name="test">
<url>tcp://localhost:61616</url>
<name>test.queue</name>
</connection>
</jms>
Le script génère les traces suivantes :