Escribir una clase Java para el adaptador estático
Al crear un analizador de anotaciones estático, se sustituyen los componentes extractor, analizador y formateador del archivo de configuración del adaptador por una clase Java. La clase del analizador estático debe implementar la
interfaz org.eclipse.hyades.logging.parser.IParser. Para ello, se puede ampliar una de las clases abstractas
org.eclipse.hyades.logging.parser.Parser u org.eclipse.hyades.logging.parser.MonitoringParser.
Ampliar la clase de analizador
Esta clase se debe utilizar al crear un analizador estático para analizar archivos de anotaciones que ya no se actualizan, o bien, para analizar un archivo de anotaciones durante la ejecución del contexto. Si se utiliza esta clase, la instancia de contexto se debe configurar sin marcar el recuadro de selección Operación continua.
- Añada una sentencia de importación import org.eclipse.hyades.logging.parsers.Parser;.
- Añada los métodos siguientes a la clase:
- public void setConfiguration(Hashtable)
El Adaptador de anotaciones genérico llama a este método para proporcionar información de configuración a la clase de analizador estático que especifica el usuario en el asistente de Importar archivo de anotaciones, o bien, que se proporciona en el archivo de configuración del adaptador.
- public void preParse()
Aquí se ejecuta el trabajo de inicialización (si procede) como, por ejemplo, el establecimiento de conexiones.
- public void parser(Log)
La implementación de este método no es obligatoria. Se puede heredar de org.eclipse.hyades.logging.parsers.Parser.
- public ICommonBaseEvent[] parseNext()
Este método ejecuta la mayor parte de la lógica para analizar el archivo de anotaciones, por ejemplo, analizar un conjunto de registros y devolver una matriz de objetos de suceso base común que representan los datos del conjunto de registros.
- public void postParse()
Aquí se ejecutan todas las tareas de limpieza.
Nota: Se puede utilizar el método protegido Parser.readALine() para leer datos del archivo de anotaciones. Este método lee una línea del archivo de anotaciones y emite una excepción si se produce un error al leer el archivo. La excepción contiene información sobre el motivo por que la lectura ha dado error. El método
readLine() existente que devolvía nulo si se producía un error se ha desechado en este release.
Ampliar la clase MonitoringParser
Esta clase se debe debe utilizar cuando se necesita crear un analizador estático que pueda supervisar continuamente un archivo de anotaciones.
Nota: Esta clase permite supervisar un archivo de anotaciones, aunque el archivo de anotaciones no exista en el momento en el que se inicia la supervisión. Se debe ampliar la clase abstracta
org.eclipse.hyades.logging.parser.MonitoringParser. Esta clase amplía la clase Parser.
Implemente los métodos tal como se ha descrito para la clase de analizador, pero tenga en cuenta lo siguiente:
- Añada una sentencia de importación import org.eclipse.hyades.logging.parser.MonitoringParser.
- Si los métodos de analizador siguientes se alteran temporalmente, asegúrese de que los métodos de alteración temporal llamen a los métodos correspondientes de la superclase.
- setConfiguration()
- readALine()
- postParse()
- Añada una llamada a setEndOfFile() en el método parseNext() antes de que devuelva nulo para indicar que actualmente no se han pasado más registros para devolver. De este modo, se garantiza que la próxima vez que se llame a readALine(), se examine el archivo de anotaciones a fin de determinar si se ha modificado el archivo y si tiene nuevos registros para analizar.
- Si el analizador estático requiere un mandato para convertir el archivo de anotaciones a un formato que se analice más fácilmente, o bien, para generar el archivo de anotaciones, se debe especificar en la clase
MonitoringParser utilizando una de las llamadas de método siguientes después de llamar a
setConfiguration():
setConverterCommand(String) o setConverterCommand(String[]).
Si el mandato escribe los datos de anotaciones en un archivo cuyo nombre es diferente al que se ha especificado en los parámetros de configuración en setConfiguration(), el nuevo nombre del archivo de anotaciones se debe especificar para la clase MonitoringParser utilizando el método setFilename(String).
Nota:
- El plug-in org.eclipse.hyades.logging.parsers ahora tiene una dependencia en el dependencia
org.eclipse.hyades.logging.adapter.
- La clase MonitoringParser no proporciona acceso directo al archivo de anotaciones, excepto para el método
readALine(). En la actualidad, los analizadores estáticos que utilizan el miembro
logFile de la clase de analizador para leer datos directamente del archivo de anotaciones se deben modificar para utilizar el método readALine().
Una vez que haya escrito y probado la clase de analizador Java, puede configurar el componente sensor del archivo
de configuración del adaptador para hacer referencia a esta clase.
Conceptos relacionados
Visión general del Adaptador de anotaciones genérico de Hyades
Especificación del formato de suceso base común
Tareas relacionadas
Crear un analizador de anotaciones
Crear un adaptador estático
Configurar el componente sensor
Consultas relacionadas
Estructura del archivo de configuración del adaptador
Editor de configuraciones de adaptador
Gramática de las expresiones regulares
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.