Durante la fase de registro, el intermediario detecta qué recursos están disponibles y los LIL que pueden proporcionarlos. En esta instancia, los recursos disponibles son nodos. La fase se inicia cuando se inicia un grupo de ejecución. Los LIL se cargan durante el arranque de un grupo de ejecución y el intermediario los consulta para saber qué recursos puede proporcionar.
Se crea una estructura CciFactory durante la fase de registro, cuando el nodo definido por el usuario llama a cniCreateNodeFactory.
Se crea una instancia de un nodo de entrada definido por el usuario cuando el mandato mqsistart inicia o reinicia el proceso del grupo de ejecución, o cuando se despliega un flujo de mensajes asociado al nodo.
Durante esta fase, se crea una estructura CciTerminal. Esta estructura se crea cuando se llama a cniCreateTerminal.
La fase de proceso comienza cuando el intermediario llama a la función cniRun. El intermediario utiliza la funcióncniRun para determinar cómo procesar un mensaje, incluido determinar el dominio en el que se define un mensaje, y cómo invocar el analizador correspondiente para dicho dominio.
Se solicita una hebra de la agrupación del flujo de mensajes y se inicia en el método de ejecución del nodo de entrada. La hebra conecta con el gestor de colas del intermediario y retiene esta conexión durante su ciclo de vida. Cuando se asigna una hebra, el nodo entra en un bucle de proceso de mensajes mientras espera a recibir un mensaje. Permanecerá en el bucle hasta que se reciba un mensaje. Si se configura el flujo de mensajes para que utilice varias hebras, se activa el despacho de hebras.
Ahora los datos de mensajes se pueden propagar en sentido descendente.
Un nodo de entrada definido por el usuario se destruye cuando se vuelve a desplegar el flujo de mensajes o cuando se utiliza mqsistop para detener el proceso del grupo de ejecución. Puede destruir el nodo implementando la función cniDeleteNodeContext.
Cuando se destruye un nodo de entrada definido por el usuario de uno de estos modos, debe liberar la memoria que utilice el nodo y liberar también los recursos que estén retenidos, por ejemplo, los sockets.