Estructura del archivo de configuración del adaptador

Un archivo de configuración de adaptador contiene una colección de contextos que una instancia del entorno de ejecución del Adaptador genérico de anotaciones debe ejecutar. Cada contexto describe cómo se procesa un solo archivo de anotaciones. Dado que el archivo de configuración del adaptador puede contener muchos de estos contextos, el adaptador puede procesar muchos archivos de anotaciones simultáneamente.

Cada contexto asociado con un archivo de anotaciones determinado está formado por una serie de componentes. Cada componente juega un papel en el proceso de un archivo de anotaciones.

Contexto

El contexto describe la agrupación ordenada de componentes tal como están encadenados para el proceso del archivo de anotaciones. Cada archivo de anotaciones tiene un contexto independiente, y pueden definirse varios contextos en una sola configuración. El Adaptador genérico de anotaciones suministra un contexto:

Un contexto tiene las siguientes propiedades:

Propiedad Tipo Comportamiento
Descripción serie Texto descriptivo del contexto. Este valor sólo lo utiliza el editor de configuración del adaptador.
ID exclusivo serie Identificador exclusivo de este componente. El contexto hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Es operación continua booleano Indica si deben supervisarse los cambios de este archivo de anotaciones en función de las propiedades Tiempo máximo de desocupación e Intervalo de pausa.
Tiempo máximo de desocupación entero (milisegundos) El período de tiempo máximo durante el que el contexto esperará a que un archivo de anotaciones cambie antes de cerrarse.
Intervalo de pausa entero (milisegundos) El período de tiempo durante el que el contexto espera después de alcanzar el final del archivo de anotaciones y antes de intentar una nueva lectura.

Sensor

El sensor proporciona el mecanismo para leer el contenido a efectos de proceso. El Adaptador genérico de anotaciones proporciona los siguientes sensores:

La tabla siguiente indica los atributos comunes a los tipos de sensores.

Atributos de sensor

Nombre de atributo Tipo Comportamiento
Tipo de sensor serie El tipo de sensor que el adaptador debe utilizar.
Descripción (obligatoria) serie Texto descriptivo del sensor. Este valor sólo lo utiliza el editor de configuración del adaptador.
ID exclusivo (obligatorio) serie Identificador exclusivo de este componente. El sensor hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Máximo de bloques (obligatorio) Entero El número máximo de líneas que lee el sensor antes de realizar el reenvío al extractor para el proceso. En el tipo StaticParserSensor, este campo indica el número máximo de objetos de tipo Common Base Event creados por el analizador estático antes de efectuar el reenvío al productor para el proceso.
Almacenamiento intermedio de confianza Entero Los n últimos bytes de un archivo que deben guardarse y utilizarse para determinar si se ha realizado una adición al final del archivo desde la última vez que se leyó.
Tamaño de pie de página Entero Los n bytes de un archivo de contenido variable. La parte de pie de página de un archivo no se utilizará al determinar si se ha producido una adición al final del archivo desde la última vez que se leyó.

La tabla siguiente indica las propiedades específicas de cada uno de los tipos de sensores. El código de componente conoce las siguientes propiedades, que deben escribirse exactamente tal como se indica en la tabla para que el componente las reconozca y utilice.

Tipo de sensor Propiedades Aplicación
SingleFileSensor
directory (obligatoria)
La ubicación del directorio del archivo que SinlgeFileSensor debe leer.
fileName (obligatoria)
El nombre del archivo que SingleFileSensor debe leer.
shell
La shell UNIX en la que debe ejecutarse el mandato de conversión. Sólo se utiliza en plataformas UNIX
converter
Una línea de mandatos para una instrucción de preproceso que debe ejecutarse antes de iniciar el sensor.
Se utiliza al crear un adaptador para analizar un archivo de anotaciones con normas de expresión regular
StaticParserSensor
directory (obligatoria)
La ubicación del directorio del archivo que StaticParserSensor debe leer.
fileName (obligatoria)
El nombre del archivo que StaticParserSensor debe leer.
parserClassName (obligatoria)
El nombre de la clase Java que implementa el analizador estático. La clase debe implementar la interfaz org.eclipse.hyades.logging.parsers.IParser.
Se utiliza al crear un adaptador para analizar un archivo de anotaciones con una clase Java de analizador estático.

Extractor

El extractor toma una colección de líneas de entrada suministradas por el sensor y las separa en límites de mensajes.

El Adaptador genérico de anotaciones proporciona los siguientes extractores:

Como parte de la configuración del extractor, se suministran las siguientes propiedades:

Propiedad Tipo Comportamiento
Descripción serie Texto descriptivo del extractor. Este valor sólo lo utiliza el editor de configuración del adaptador.
ID exclusivo serie Identificador exclusivo de este componente. El extractor hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Contiene saltos de línea booleano Indica si los mensajes del archivo de anotaciones ocupan varias líneas.
Sustituir saltos de línea booleano Sustituye los saltos de línea de este archivo por otro segmento de serie. La sustitución se realiza antes de que el extractor busque el patrón de inicio o el patrón de finalización.
Símbolo de salto de línea serie El segmento de serie con el que deben sustituirse los saltos de línea. Sólo se utiliza si Sustituir saltos de línea es true.
Incluir patrón de inicio booleano Indica si debe incluirse el StartPattern como parte del mensaje que debe reenviarse al próximo componente. Si el valor es false, se elimina la parte coincidente del mensaje.
Patrón de inicio serie o expresión regular El segmento de serie que identifica el inicio de un mensaje. Puede utilizar siempre la clase RegularExpressionExtractor. Sin embargo, si el patrón de inicio es una serie simple, la clase SimpleExtractor produce menos actividad general.
Incluir patrón de finalización booleano Indica si debe incluirse el patrón de finalización como parte del mensaje que debe reenviarse al próximo componente. Si el valor es false, se elimina la parte coincidente del mensaje.
Patrón de finalización serie o expresión regular El segmento de serie que identifica el final de un mensaje. Si no se especifica el patrón de finalización, el mensaje queda delimitado por el próximo patrón de inicio.

Analizador

El analizador toma los mensajes que el extractor ha delimitado y crea un conjunto de correlaciones de valores de serie con una estructura de datos. En el caso del Adaptador genérico de anotaciones, la estructura de datos es Common Base Event 1.0.1

El Adaptador genérico de anotaciones proporciona la siguiente clase de analizador:

El analizador tiene dos fases de ejecución:

  1. La fase de proceso global, en la que se ejecuta un conjunto de expresiones regulares globales comparándolas con el mensaje suministrado por el extractor.
  2. La fase de proceso de atributos, en la que se ejecutan conjuntos específicos de normas de sustitución para determinar el valor que debe asignarse a cada atributo de la estructura de datos (Common Base Event 1.0.1).

Las dos fases de ejecución permiten simbolizar el mensaje mediante una serie de valores de atributo durante la fase de proceso global. A continuación, puede hacerse referencia a los valores de atributo por el nombre de atributo o por el índice durante la fase de proceso de atributos.

Como parte del analizador se especifican las siguientes propiedades globales:

Propiedad Tipo Comportamiento
Descripción serie Texto descriptivo del analizador. Este valor sólo lo utiliza el editor de configuración del adaptador.
ID exclusivo serie Identificador exclusivo de este componente. El analizador hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Símbolo separador serie o expresión regular Un símbolo o expresión regular que describe una serie de símbolos y divide el mensaje en pares formados por atributo-valor.

Por ejemplo, si cada línea nueva del archivo de anotaciones contiene un atributo y su valor, puede especificar el símbolo separador \n. La ventaja de dividir el mensaje estriba en que puede hacerse referencia a los segmentos de serie en la fase de proceso de atributos.

Símbolo de designación serie o expresión regular Un símbolo o expresión regular que describe una serie de símbolos y divide los segmentos de la serie creados por el símbolo separador en pares formados por atributo-valor. Por ejemplo, si cada par de atributo y valor están separados por un signo = y el valor del símbolo de designación es =, puede hacerse referencia al atributo y su valor en la fase de proceso de atributos. Si se especifica un símbolo separador pero no un símbolo de designación, el mensaje se divide en una lista de valores de atributo a los que puede hacerse referencia por índice en las normas de sustitución.

Los atributos individuales del Common Base Event tienen las siguientes propiedades:

Propiedad Tipo Comportamiento
Utilizar sustitución coincidente anterior como valor por omisión booleano Si el conjunto actual de normas de sustitución de este atributo devuelve una coincidencia positiva, almacene el valor coincidente a fin de utilizarlo como valor por omisión para procesar el próximo registro cuando no haya coincidencia positiva.
Valor por omisión serie Si ninguna de las normas de sustitución de este atributo proporciona una coincidencia positiva o si no existen normas de sustitución para este atributo, se asignará a este atributo el valor por omisión especificado aquí. Si desea el mismo valor para todos los registros de un atributo determinado, puede utilizar esta propiedad en lugar de crear una norma de sustitución por omisión para ese atributo. Tenga en cuenta que Utilizar sustitución coincidentes anterior como valor por omisión tendrá preferencia si existe un valor guardado disponible.

Las normas de sustitución se ejecutan como parte de la fase de proceso de atributos. Se procesan por orden descendente. Una vez que coincide una norma, no se ejecutan más normas en esta propiedad. Si no se encuentra ninguna coincidencia, no se coloca ningún valor en el atributo, a menos que se especifiquen las propiedades Utilizar sustitución coincidente anterior como valor por omisión o Valor por omisión del atributo.

Las normas de sustitución contienen las siguientes propiedades:

Propiedad Tipo Comportamiento
Coincidencia expresión regular La expresión regular que identifica el valor que debe aplicarse a este atributo si se produce una coincidencia en el ámbito del segmento de serie procesado por esta norma de sustitución. Si no suministra una expresión regular, la norma se considera coincidente.
Posiciones pares de atributo nombre-valor Las posiciones permiten hacer referencia a los pares de atributo nombre-valor creados durante la fase de proceso global.
  • Si se especifican un símbolo separador y un símbolo de designación, la serie Posiciones puede hacer referencia a muchos atributos por nombre mediante la siguiente gramática: $h('Atr1')@@$h('Atr2')...
    $h('Atrn') identifica un nombre de atributo creado anteriormente.
    donde @@ es el separador de los atributos.
  • Si se especifica un símbolo separador pero no un símbolo de designación, la serie Posiciones puede hacer referencia a uno o varios atributos por índice en lugar de por nombre, mediante la siguiente gramática: n1@@n2..
    donde n1 y n2 son enteros que representan los índices. El índice se inicia en 1. Si la serie de mensaje empieza con un símbolo separador, el valor de atributo del índice 1 será nulo. El primer valor de atributo empezará en el índice 2.

En la propiedad Coincidencia, puede añadir el separador para indicar qué expresiones regulares deben aplicarse a qué valor de atributo. La propiedad Sustitución puede hacer referencia a estos átomos de atributo mediante $1, $2, y así sucesivamente.

Sustitución serie El valor que debe colocarse en el atributo. Puede ser una serie o puede hacer referencia a la expresión regular de la propiedad Coincidencia. Puede hacerse referencia a los segmentos de la serie extraídos por la propiedad Coincidencia mediante las agrupaciones de la expresión regular. $1 indica la primera agrupación, $2 la segunda, y así sucesivamente.
Utilizar función incorporada recuadro de selección Si se selecciona Utilizar función incorporada para un atributo y ninguna de las normas de sustitución anteriores, si las hay, son coincidentes, el entorno de ejecución del Adaptador genérico de anotaciones generará un valor para ese atributo utilizando sus propias funciones internas. Esta característica sólo está soportada en los siguientes atributos de CBE:
  • localInstanceId
  • globalInstanceId
  • componentIdentification.location
  • componentIdentification.locationType
Clase de sustitución serie Especifica el nombre de una clase Java creada por usuario que puede ejecutar lógica de análisis personalizada sobre el valor comparado por las especificaciones Posiciones, Coincidencia y Sustitución de la norma. Si la norma de sustitución coincide con los datos del registro, se llamará a esta clase y el resultado se utilizará para crear el objeto de tipo Common Base Event.
Especificaciones:
  • Esta clase debe implementar la clase de interfaz org.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension o la clase de extensión org.eclipse.hyades.logging.adapter.parsers.IStatefulSubstitutionExtension para que el Adaptador genérico de anotaciones pueda ejecutarla.
  • Utilice la clase de extensión si desea guardar datos de estado entre registros de archivo de anotaciones. La clase org.eclipse.hyades.logging.adapter.parsers.IStatefulSubstitutionExtension hace que el Adaptador genérico de anotaciones sólo asigne una instancia de esta clase para analizar todos los registros del archivo de anotaciones.
  • Debe incluirse la clase de usuario en la vía de acceso de clases del entorno de ejecución del Adaptador genérico de anotaciones.
  • Si el Adaptador genérico de anotaciones se ejecuta en un entorno Eclipse, la clase puede crearse como una extensión de conector eclipse del Adaptador genérico de anotaciones mediante el punto de extensión substitutionExtension del conector org.eclipse.hyades.logging.adapter.
Formato de hora serie Este campo sólo se aplica a las normas de sustitución del elemento creationTime y se utiliza para simplificar el análisis de fecha y hora. Por ejemplo, algunos archivos de anotaciones contienen indicaciones de la hora que incluyen nombres de mes en lugar de su representación numérica. Esto dificulta la creación de normas de sustitución para generar el valor de serie en el formato del tipo de datos dateTime del esquema XML necesario para el elemento CBE creationTime. En este caso, el usuario puede especificar una serie de formato de fecha simple Java, según lo indicado en el javadoc de java.text.SimpleDateFormat (java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html) en el campo Formato de hora. El valor coincidente de las especificaciones Posiciones, Coincidencia y Sustitución de la norma se analizará en función de la serie de formato de hora, y el valor resultante se utilizará para generar el valor creationTime de CBE.

Formateador

El formateador toma las correlaciones de los atributos con sus valores suministrados por el analizador y crea la instancia de objeto Java correcta. El entorno de ejecución del adaptador contiene un solo formateador que crea objetos de tipo Common Base Event conformes a la especificación de Common Base Event versión 1.0.1.

El formateador contiene las siguientes propiedades:

Propiedad Tipo Comportamiento
ID exclusivo serie Identificador exclusivo de este componente. El formateador hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Descripción serie Texto descriptivo del formateador. Este valor sólo lo utiliza el editor de configuración del adaptador.

Productor

El productor externaliza los registros Common Base Event resultantes suministrados por el formateador. Los productores proporcionan, o derivan, el mecanismo para almacenar las salidas finales del contexto. El Adaptador genérico de anotaciones Hyades suministra los siguientes productores:

Propiedades del productor:

Propiedad Tipo Comportamiento
ID exclusivo serie Identificador exclusivo de este componente. El productor hace referencia a esta serie para identificar la instancia de componente que debe utilizar.
Descripción serie Texto descriptivo del productor. Este valor sólo lo utiliza el editor de configuración del adaptador.
Tipo de productor enumeración El tipo de productor.

Tipos de productor y propiedades necesarias:

Tipo de productor Propiedades necesarias
StandardOutOutputter Ninguna
SingleFileOutputter directory, fileName
LoggingAgentOutputter agentName - nombre dado al agente de anotación cuando se crea
waitUntilLoggingTime(optional)- el tiempo durante el que el productor esperará a que el usuario conecte y empiece a supervisar el agente antes de empezar a escribir en el agente. Si no se especifica esta propiedad, el productor no esperará a que se supervise al agente antes de escribir en él.
NotificationOutputter resourceURL - URL del sumidero de notificación que recibirá los eventos

 

Conceptos relacionados
Visión general del Adaptador genérico de anotaciones Hyades
Especificación de formato de Common Base Event

Tareas relacionadas
Crear un analizador de anotaciones
Crear un adaptador basado en normas
Crear un adaptador estático

Consultas relacionadas
Estructura del archivo de configuración del adaptador
Especificación de formato de Common Base Event
Editor de configuración del adaptador
Gramática de expresiones regulares