Use o API Java™ do Message Broker para modificar uma instância padrão para atualizar tabelas de filtro nos nós Route.
Você pode incluir e atualizar linhas na tabela de filtros de um nó
Route.
- Incluindo uma nova linha
- O seguinte exemplo mostra como incluir uma nova linha em uma tabela de filtros usando o método createRow():
- O fluxo de mensagens e o nó
Route são carregados na memória.
- A tabela de filtros do nó Route é carregada
na memória usando o método getFilterTable() do objeto RouteNode.
- Uma nova tabela de filtros é criada usando o método createRow().
- O valor da propriedade padrão do filtro nesta
nova linha é configurado como value="123" usando
o método setFilterPattern().
- A propriedade terminal de saída de roteamento é
configurada como NEWOUT usando o método
setRoutingOutputTerminal().
- A nova linha então é incluída na tabela
de filtros usando o método addRow().
MessageFlow mf1 = patternInstanceManager.getMessageFlow("MyFlowProject", "main.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);
- Atualizando uma linha
- O exemplo a seguir mostra como atualizar linhas na tabela de filtros de um nó Route.
- O fluxo de mensagens, o nó
Route e a tabela de filtros do nó
Route são carregados na memória.
- As linhas
da tabela de filtros são carregadas na memória usando o método
getRows().
- A propriedade padrão do filtro da primeira linha da tabela
de filtros é configurada como value2="456".
- A propriedade terminal de saída de roteamento da primeira linha
da tabela de filtros é configurada como NEWOUT2.
MessageFlow mf1 = patternInstanceManager.getMessageFlow("MyFlowProject", "main.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");