Über die Message
Broker-Java™-API können bei der Entwicklung von Nachrichtenflussanwendungen Filtertabellen in Route-Knoten aktualisiert werden.
Sie können Zeilen in der Filtertabelle eines
Route-Knotens hinzufügen und aktualisieren.
- Neue Zeile hinzufügen
- Das folgende Beispiel zeigt, wie mithilfe der Methode createRow() eine neue
Zeile zu einer Filtertabelle hinzugefügt wird:
- Der Nachrichtenfluss und der Route-Knoten werden in den Speicher geladen.
- Die Filtertabelle des Route-Knotens wird mithilfe
der Methode getFilterTable() des Objekts RouteNode in den Speicher geladen.
- Es wird mithilfe der Methode createRow() eine neue Zeile in der
Filtertabelle erstellt.
- Der Wert der Eigenschaft Filtermuster für diese neue
Zeile wird mithilfe der Methode setFilterPattern() auf
value="123" gesetzt.
- Die Eigenschaft Ausgabeterminal für Routing wird
mithilfe der Methode setRoutingOutputTerminal() auf
NEWOUT gesetzt.
- Anschließend wird die neue Zeile mithilfe der Methode addRow() zu der Filtertabelle hinzugefügt.
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);
RouteNode routeNode = (RouteNode)mf1.getNodeByName("My Route Node");
RouteNode.FilterTable filterTable = (RouteNode.FilterTable)routeNode.getFilterTable();
RouteNode.FilterTableRow newRow = filterTable.createRow();
newRow.setFilterPattern("value=\"123\"");
newRow.setRoutingOutputTerminal("NEWOUT");
filterTable.addRow(newRow);
- Zeile aktualisieren
- Das folgende Beispiel zeigt, wie Zeilen in der Filtertabelle eines
Route-Knotens aktualisiert werden.
- Der Nachrichtenfluss, der Route-Knoten und die Filtertabelle des Route-Knotens werden in den Speicher geladen.
- Die Zeilen der Filtertabelle werden mithilfe der Methode getRows() in den Speicher geladen.
- Die Eigenschaft Filtermuster der ersten Zeile der
Filtertabelle wird auf value2="456" gesetzt.
- Die Eigenschaft Ausgabeterminal für Routing der
ersten Zeile der Filtertabelle wird auf NEWOUT2
gesetzt.
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);
RouteNode routeNode = (RouteNode)mf1.getNodeByName("My Route Node");
RouteNode.FilterTable filterTable = (RouteNode.FilterTable)routeNode.getFilterTable();
Vector<RouteNode.FilterTableRow> filterTableRows = filterTable.getRows();
filterTableRows.get(0).setFilterPattern("value2=\"456\"");
filterTableRows.get(0).setRoutingOutputTerminal("NEWOUT2");