Utilice el nodo FileRead para leer un registro, o todo el contenido de un archivo, desde dentro de un flujo de mensajes.
Este tema contiene las secciones siguientes:
Puede utilizar el nodo FileRead para leer un registro, o todo el contenido de un archivo, desde la mitad de un flujo de mensajes, consulte Direccionamiento o enriquecimiento de un mensaje basados en el contenido de un archivo. El nodo FileRead es igual que el nodo FileInput que lee un archivo desde el inicio de un flujo de mensajes, excepto en que se utiliza para leer el archivo de un mensaje entrante. A diferencia del nodo FileInput, que propaga cada registro de un archivo de uno en uno, puede configurar el nodo FileRead para propagar un archivo entero o parte de un archivo.
El nodo FileRead se encuentra en la bandeja Archivo de la paleta y está representado en el WebSphere Message Broker Toolkit por el siguiente icono:
Para habilitar la función que queda disponible en los fixpacks de WebSphere Message Broker, utilice el parámetro -f en el mandato mqsichangebroker. Para obtener más información, consulte Mandato mqsichangebroker.
Al utilizar cualquier analizador incorporado, el nodo FileRead puede analizar el contenido del archivo y propagar el contenido como un árbol de mensaje. El nodo envía corrientes de datos a analizadores que admiten esta función, de forma idéntica a la del nodo FileInput.
Las propiedades principales del nodo especifican el archivo y directorio desde donde leer el archivo. Se proporciona el nombre de archivo como patrón que puede incluir comodines. Tanto el directorio como el patrón de archivo pueden alterarse temporalmente utilizando campos en el entorno local.
Los terminales de entrada del nodo FileRead se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
Archivo de finalización de entrada | El terminal de entrada que acepta una
solicitud para realizar la acción del archivo de finalización, sin leer los datos. Cuando el terminal Finish file in (Finalizar entrada de archivo) recibe un mensaje, el nodo FileRead inicia el proceso especificado por la propiedad Acción. Cuando el terminal Finish file in (Finalizar entrada de archivo) recibe un mensaje, no se leen datos antes de realizar la acción. |
Los terminales de salida del nodo FileRead se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
Failure (de anomalías) | El terminal de salida al que se direcciona un mensaje si se detecta una anomalía al transferir el mensaje a la cola de salida. |
Out (de salida) | El terminal de salida al que se direcciona un mensaje si se recupera satisfactoriamente de un recurso externo. Si no se producen errores en el nodo de entrada, en primer lugar se envía siempre un mensaje recibido de un recurso externoOut. |
Sin coincidencia (No match) | El mensaje recibido en el terminal Sin coincidencia se
propaga a este terminal si el archivo no existe en el sistema de archivos o existe
pero no se puede encontrar ningún registro que coincida con la expresión de filtro. Si el terminal no está conectado, el mensaje no se utiliza. |
Archivo de salida de finalización | Un mensaje que llega al terminal Archivo de finalización de entrada se propaga al terminal Archivo de finalización de salida con el contenido sin cambios, pero el entorno local se actualiza con detalles de la acción que el nodo ha realizado. |
Las tablas siguientes describen las propiedades de nodo que el usuario puede establecer en un separador especificado. La columna con la cabecera O indica si la propiedad es obligatoria (marcada en el kit de herramientas con un asterisco si es necesario especificar un valor cuando no existe ningún valor predeterminado definido). La columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añada el flujo de mensajes al archivo BAR para desplegarlo).
Cuando se haya propagado satisfactoriamente el contenido del archivo a lo largo del flujo, el archivo es suprimido del sistema de archivos. Ningún otro nodo archivo pueden acceder al archivo cuando el nodo de lectura empieza a leer datos desde el archivo. Si no existe un archivo que coincida con el patrón, el mensaje original se propaga al terminal 'Sin coincidencia'. Si el terminal no está conectado, se genera una excepción.
Al final del proceso, es posible configurar que el nodo no suprima el archivo. De este modo, cualquier otro nodo de lectura de archivos también puede acceder al archivo si se ejecuta en la misma modalidad de sólo examinar.
Las propiedades de Descripción de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | FileRead | El nombre del nodo. |
Descripción larga | No | No | Ninguno | Texto que describe la finalidad del nodo en el flujo de mensajes. |
Descripción corta | No | No | Ninguno | Una descripción breve del nodo. |
La propiedades de Básico de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Directorio de entrada | No | Sí | Ninguno | La vía de acceso absoluta del directorio de entrada en el formato utilizado por el sistema de archivos del intermediario. Por ejemplo, en sistemas Windows la vía de acceso del directorio empieza por
el prefijo de letra de unidad (como C:). Como alternativa, la vía de acceso puede ser relativa al directorio raíz de nodos de archivos (que se puede alterar temporalmente con la misma variable de entorno que la utilizada para los nodos de entrada y salida de archivos). |
inputDirectory |
Nombre de archivo o patrón | No | Sí | * | Un nombre de archivo, o una secuencia de caracteres (patrón) que coincide con un nombre de archivo. Un patrón contiene al menos uno de los siguientes caracteres comodín:
Si más de un archivo coincide con el patrón, se genera una excepción. Seleccione la opción Utilizar comodín de entorno si desea utilizar parte del nombre de archivo del nodo de entrada en este campo. |
filenamePattern |
Sustituir coincidencia de carácter comodín | No | No | False | Si selecciona esta opción, el patrón de archivo ya no es una expresión regular. En cambio, debe contener un solo *. El * se sustituye por el campo $localenvironment/Wildcard/WildcardMatch. Un nodo anterior, como el nodo FileInput suele llenar esta ubicación. | substituteWildcardMatch |
Acción | Sí | No | Ninguna acción | La acción realizada en el archivo después de llegar al final del archivo o
de recibir un mensaje en el terminal Archivo de finalización de entrada. Esta acción se produce en
cualquiera de las circunstancias siguientes:
De forma predeterminada, Archivar está seleccionado, el archivo se traslada al subdirectorio mqsiarchive del directorio, pero este valor predeterminado puede modificarse estableciendo una variable de entorno local. Cuando se establece la alteración temporal de entorno local para el nombre del archivo archivador y la acción del archivo de finalización en el nodo se establece en Archivar con la indicación de fecha y hora, el nombre de archivo es indicaciónfechahora_nombreespecificado. Donde indicaciónfechahora es la fecha y hora en que se archiva el archivo y nombreespecificado es el nombre que se le da al archivo. Cuando se establece la alteración temporal de entorno local para el nombre del archivo y la acción del archivo de finalización en el nodo se establece en Suprimir, el archivo se suprime. Cuando se establece la alteración temporal de entorno local para el nombre del archivo y la acción del archivo de finalización en el nodo se establece en Ninguna acción, no se aplica ninguna acción al archivo. |
|
Sustituir los archivos duplicados | Sí | No | False | De forma predeterminada, se produce un error si un archivo se archiva y ya existe un archivo con el mismo nombre. Establezca esta propiedad como verdadera para ignorar el error y sustituir el archivo de archivado. |
Las propiedades de Solicitud de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Solicitar ubicación de propiedad de directorio | No | No | $LocalEnvironment/Destino/Archivo/Directorio | La ubicación del elemento de mensaje que contiene el nombre del directorio de entrada. | |
Solicitar ubicación de propiedad de nombre de archivo | No | No | $LocalEnvironment/Destino/Archivo/Nombre | La ubicación del elemento de mensaje que contiene el nombre del patrón de archivo de entrada. | |
Ubicación de propiedad de desplazamiento | No | No | $LocalEnvironment/Destino/Archivo/Desplazamiento | La ubicación del elemento de mensaje que contiene el desplazamiento desde el que se debe empezar a buscar registros. | |
Ubicación de propiedad de longitud | No | No | $LocalEnvironment/Destino/Archivo/Longitud | La ubicación del elemento de mensaje que contiene la longitud del registro para leer si se utiliza la detección de registros de longitud fija. |
Las propiedades de Resultado de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Ubicación de datos de resultado | Sí | No | $ResultRoot | La ubicación en el mensaje recuperado del archivo a copiar en
el campo Ubicación de datos de salida del mensaje saliente. Consulte el apartado Combinación de un mensaje de resultado con un mensaje de entrada. |
|
Ubicación de datos de salida | Sí | No | $OutputRoot | La ubicación del mensaje saliente en la
que debe copiarse el registro leído del archivo. La parte del registro
que se copia en la ubicación de los datos de salida se define en la
ubicación de datos de resultados. De forma predeterminada, se copia todo el registro. Consulte el apartado Combinación de un mensaje de resultado con un mensaje de entrada. |
|
Copiar entorno local | No | No | Seleccionado | Esta propiedad especifica si el entorno local se copia en el mensaje de salida.
|
|
Expresión de selección de registro | No | No | true() | La expresión utilizada para seleccionar el registro correcto del archivo. La expresión se evalúa para cada registro del archivo hasta que se encuentra uno que se evalúe como verdadero. Entonces ese registro se
propaga al terminal Out. La expresión se puede establecer en cualquier expresión XPath válida que devuelva un valor Booleano. La expresión no se utiliza cuando se selecciona Todo el archivo como la opción de Detección de registros. Los siguientes nombres de correlación están en el
ámbito que se utiliza en la expresión:
|
Las propiedades de Análisis de mensaje de entrada de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Dominio de mensajes | No | No | El dominio que se utiliza para analizar el mensaje de entrada. | ||
Conjunto de mensajes | No | No | Nombre o identificador del conjunto de mensajes en el que se
define el mensaje de entrada. Si establece esta propiedad y, a continuación, actualiza las dependencias del proyecto para eliminar esta referencia de conjunto de mensajes, se emite un aviso. Actualice la propiedad Conjunto de mensajes o restaure la referencia a este proyecto de conjunto de mensajes. |
||
Tipo de mensaje | No | No | Nombre del mensaje de entrada. | ||
Formato del mensaje | No | No | Nombre del formato físico del mensaje de entrada. | ||
ID de juego de caracteres codificado del mensaje | No | Sí | Valor predeterminado del sistema de intermediario | El ID del juego de caracteres codificado utilizado para interpretar los bytes del archivo que se lee. | messageCodedCharSetIdProperty |
Codificación del mensaje | No | Sí | Determinado por el sistema de intermediario | El esquema de codificación para números y caracteres grandes utilizado para interpretar los bytes del archivo que se lee. Los valores válidos son Determinado por el sistema de intermediario o un valor de codificación numérica. Para obtener más información sobre la codificación, consulte Conversión de datos. | messageEncodingProperty |
Las propiedades de Opciones de análisis de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A petición | Esta propiedad controla cuándo se analiza un mensaje de entrada. Los valores válidos son:
Si desea ver una descripción completa de esta propiedad, consulte Análisis a petición. |
Crear árbol utilizando tipos de datos de esquema XML | No | No | No seleccionado | Esta propiedad controla si los elementos de sintaxis en el árbol de mensajes toman tipos de datos del esquema XML. |
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | No seleccionado | Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si establece esta propiedad, los datos del mensaje se muestran bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera MQRFH2 de entrada o la propiedad Análisis de mensaje de entrada, Dominio de mensajes es XMLNS. |
Retener el contenido mixto | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro, el texto mixto se ignora y no se crea ningún elemento. |
Retener los comentarios | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento. |
Retener las instrucciones de proceso | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento. |
Elementos opacos | No | No | Espacio en blanco | Esta propiedad se utiliza para especificar una lista de elementos del mensaje de entrada que el analizador XMLNSC deba analizar de forma opaca. El análisis opaco sólo se realiza si la validación no está habilitada (es decir, si Validar tiene el valor Ninguno); las entradas que se especifiquen en Elementos opacos se omiten si la validación está habilitada. |
Las propiedades de Registros y elementos de FileRead se describen en la tabla siguiente.
Propiedad | M | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Detección de registros | Sí | No | Todo el archivo | El mecanismo utilizado para identificar registros en el archivo de entrada. Las opciones válidas son:
|
Longitud | Sí | No | 80 | La longitud de cada registro cuando se selecciona la detección de registros Longitud fija. |
Delimitador | Sí | No | Fin de línea de DOS o UNIX | El tipo de bytes de delimitador que separan o terminan cada registro cuando se ha seleccionado la detección de registros Delimitados. Las opciones válidas son:
|
Delimitador personalizado | No | Sí | Los bytes de delimitador, expresados en hexadecimal, cuando se selecciona la detección de registros Delimitados y el Delimitador personalizado. Esta propiedad sólo es obligatoria si la propiedad Delimitador no se ha establecido en Delimitador personalizado. | |
Tipo de delimitador | Sí | No | Posfijo | La posición del delimitador cuando se selecciona la detección de registros Delimitados. Las opciones válidas son:
|
Las propiedades de Validación del nodo FileRead se describen en la tabla siguiente. Para obtener una descripción completa de estas propiedades, consulte Propiedades de validación
Propiedad | M | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Validar | No | Sí | Ninguno | Esta propiedad controla si tiene lugar la validación. Los valores válidos son:
|
validateMaster |
Acción para anomalía | No | No | Excepción | Esta propiedad controla qué sucede si falla la
validación. Los valores válidos son:
|