Utilisation des propriétés des messages
Vous pouvez utiliser les propriétés de message pour modifier les traitements ultérieurs.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Il existe deux types de propriétés de message différents :
- Les propriétés système (y compris les en-têtes JMS, les propriétés JMSX et JMS_IBM_properties)
- Les propriétés utilisateur.
Vous pouvez utiliser les propriétés des messages pour déterminer les messages à traiter par une médiation ultérieure ou affecter le traitement par une médiation ou une application en aval. La règle définie dans la zone du sélecteur lors de la configuration de la médiation teste les valeurs des propriétés des messages.
Vous pouvez accéder aux propriétés, les modifier et les supprimer à l'aide de l'interface SIMessage (voir SIMessage.) Il existe trois ensembles de méthodes différents :
- Ces propriétés agissent sur les propriétés système et sur les propriétés
utilisateur si le nom est précédé du préfixe user. :
- getMessageProperty
- setMessageProperty
- deleteMessageProperty
- clearMessageProperties
- Ces propriétés n'agissent que sur les propriétés utilisateur ; le préfixe
user. est inutile :
- getUserProperty
- setUserProperty
- deletUserProperty
- clearUserProperties
- getUserPropertyNames renvoie une liste des noms des propriétés utilisateur dans le message.
Procédure
Exemple
Le code de la fonction de médiation permettant d'utiliser les propriétés des messages peut être similaire au fragment de code de l'exemple suivant :
String task = (String)msg1.getUserProperty("task");
if (task != null) {
if (task.equals("addColor")) {
msg1.setMessageProperty(SIProperties.JMS_IBM_Format, "colorful");
msg1.setUserProperty("background","green");
msg1.setUserProperty("foreground","purple");
msg1.setUserProperty("depth",new Integer(3));
msg1.deleteUserProperty("task");
}
else {
msg1.clearUserProperties();
}
}