WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Incluindo e Conectando Nós Definidos pelo Usuário

Use o API Java™ do Message Broker ao desenvolver aplicativos de fluxo de mensagens para incluir nós definidos pelo usuário e conectar nós definidos pelo usuário a outros nós.

O código obrigatório para incluir e conectar nó definido pelo usuário é diferente do código obrigatório para nós integrados e nós de subfluxo.

Ao escrever código Java para nós definidos pelo usuário, você deve estar ciente das seguintes informações:
  • Nós definidos pelo usuário são suportados pelas instâncias da classe GenericNode. Para incluir nós definidos pelo usuário em fluxos de mensagens, crie instâncias de GenericNode e inclua-as na instância de fluxo de mensagens.
  • Para recuperar instâncias existentes de um no definido pelo usuário, chame getNodeByName() e envie o objeto retornado para um objeto GenericNode.
  • Os terminais definidos nos nós definidos pelo usuário não estão disponíveis automaticamente na API. Se você criar uma instância de uma classe GenericNode, ela não terá terminais de entrada ou saída listados. Os métodos getInputTerminals() e getOutputTerminals() retornam listas vazias.
  • Para obter um terminal de entrada em um GenericNode, chame getInputTerminal() e passe o nome do terminal que existe no nó genérico. Esse método retorna o terminal de entrada e o torna disponível no objeto de fluxo de mensagens que contém o seu nó genérico. Depois de ter usado getInputTerminal() com um nome de terminal conhecido, esse terminal de entrada será retornado se getInputTerminals() for usado.
  • Para obter um terminal de saída para um GenericNode, chame getOutputTerminal() e passe o nome do terminal que existe no nó genérico. Esse método retorna o terminal de saída e o torna disponível no objeto do fluxo de mensagens que contém o seu nó genérico. Depois de ter usado getOutputTerminal() com um nome de terminal conhecido, esse terminal de saída será retornado se getOutputTerminals() for usado.
O seguinte exemplo mostra como é possível incluir um nó definido pelo usuário em um fluxo de mensagens e conectá-lo a um nó integrado:
  1. Um nó MQInput é criado e incluído no fluxo de mensagens.
  2. Um nó definido pelo usuário é criado usando a classe GenericNode e é incluído no objeto do fluxo de mensagens.
  3. O terminal de saída estático do MQInput é designado à variável outputTerminal.
  4. O terminal de entrada do nó definido pelo usuário é designado à variável inputTerminal usando o método getInputTerminal() com o nome de terminal conhecido In.
  5. Os nós são conectados usando o método connect().
  6. A seção final do código mostra que o nó de entrada agora está disponível para uso no fluxo de mensagens, usando o método getInputTerminals() da instância do nó definido pelo usuário.
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);

MQInputNode mqinNode = new MQInputNode();
mqinNode.setNodeName("My Input Node");
mqinNode.setQueueName("IN");
mf1.addNode(mqinNode);

GenericNode myNode = new GenericNode("MyUserDefinedNode");
myNode.setNodeName("MyNode");
mf1.addNode(myNode);

OutputTerminal outputTerminal = mqinNode.OUTPUT_TERMINAL_OUT;
InputTerminal inputTerminal = myNode.getInputTerminal("In");
mf1.connect(outputTerminal, inputTerminal);

InputTerminal[] inputTerminals = myNode.getInputTerminals();
System.out.println("Input terminals on my node:");
for (int i = 0; i < inputTerminals.length; i++) {
   InputTerminal inputTerminal = inputTerminals[i];
   System.out.println(inputTerminal.getName());
} 
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:00


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc31610_