WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Añadir y conectar nodos definidos por el usuario

Utilice la API Java™ de Message Broker al desarrollar aplicaciones de flujos de mensajes para añadir nodos definidos por el usuario y para conectar nodos definidos por el usuario a otros nodos.

El código necesario para añadir y conectar un nodo definido por el usuario es diferente de código necesario para los nodos incorporados y los nodos de subflujo.

Al escribir código Java para nodos definidos por el usuario debe tener en cuenta la información siguiente:
  • Los nodos definidos por el usuario están soportados por instancias de la clase GenericNode. Para añadir nodos definidos por el usuario a flujos de mensajes, cree instancias de GenericNode y añádalas a la instancia de flujo de mensajes.
  • Para recuperar instancias existentes de un nodo definido por el usuario, llame a getNodeByName() y convierta el objeto devuelto a un objeto GenericNode.
  • Los terminales definidos en los nodos definidos por el usuario no están disponibles automáticamente en la API. Si crea una instancia de una clase GenericNode, ésta no tiene ningún terminal de entrada o de salida listado. Los métodos getInputTerminals() y getOutputTerminals() devuelven una lista vacía.
  • Para obtener un terminal de entrada para una clase GenericNode, llame a getInputTerminal() y pase el nombre de terminal que existe en el nodo genérico. Este método devuelve el terminal de entrada y hace que esté disponible en el objeto de flujo de mensajes que contiene el nodo genérico. Después de haber utilizado getInputTerminal() con un nombre de terminal conocido, este terminal de entrada se devuelve si se utiliza getInputTerminals().
  • Para obtener un terminal de salida para una clase GenericNode, llame a getOutputTerminal() y pase el nombre de terminal que existe en el nodo genérico. Este método devuelve el terminal de salida y hace que esté disponible en el objeto de flujo de mensajes que contiene el nodo genérico. Después de haber utilizado getOutputTerminal() con un nombre de terminal conocido, este terminal de salida será devuelto si se ha utilizado getOutputTerminals().
En el ejemplo siguiente se muestra cómo puede añadir un nodo definido por el usuario para un flujo de mensajes y conectarlo a un nodo incorporado:
  1. Se crea un nodo MQInput y se añade al flujo de mensajes.
  2. Se crea un nodo definido por el usuario utilizando la clase GenericNode y se añade al objeto de flujo de mensajes.
  3. El terminal de salida estático de MQInput se asigna a la variable outputTerminal.
  4. El terminal de entrada del nodo definido por el usuario se asigna a la variable inputTerminal utilizando el método getInputTerminal() con el nombre In de terminal conocida.
  5. Los nodos se conectan utilizando el método connect().
  6. La sección final de código muestra que el nodo de entrada ya está disponible para utilizar en el flujo de mensajes, utilizando el método getInputTerminals() de la instancia de nodo definido por el usuario.
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);

MQInputNode mqinNode = new MQInputNode();
mqinNode.setNodeName("Mi nodo de entrada");
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 | Descargas | Biblioteca | Soporte | Comentarios

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

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:59


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc31610_