Formats JMS - flux
Votre programme peut extraire la charge d'un message de flux JMS en mappant le corps du message vers un graphique de données SDO représentant le message.
Corps de flux
Vous pouvez extraire la charge utile d'un message de flux JMS sous forme de valeur de liste Java™ (java.util.List). Vous devez d'abord extraire un graphique des données représentant le message de l'instance SIMessage. Comme pour tous les graphes de données représentant des messages JMS, l'objet de données racine du graphe contient une propriété "data", et cet objet de données contient à son tour une propriété "value". Dans le cas d'un message de flux JMS, la propriété de valeur peut correspondre à une liste. Les fonctions membre de l'interface Liste permettent d'accéder aux objets de l'instance de message de flux JMS. (Notez que la norme JMS place des contraintes sur les types d'objet qui peuvent être placés dans un message de flux.)
}SIMessage siMsg;
String format = siMessage.getFormat();
if (format.equals("JMS:stream")) {
DataGraph graph = siMsg.getDataGraph();
List payload = graph.getRootObject().getList("data/value");
int streamLength = payload.size();
if (streamLength > 0) {
Object item1 = payload.get(0);
// Vous pouvez également accéder directement aux éléments (par exemple : (for
the_same_ value))
item1 = graph.getRootObject().get("data/value[1]");
}
}