Generación de Logs

Manejo de Threads

Ciclo de vida de las aplicaciones (Maven y ANT)


Logs

Sirve para

  • Descubrir problemas
  • Monitorizar acciones
  • Registrar evidencia

Frameworks

  • Log4j
  • java.util.logging
  • Logback
  • Slf4j
  • TRACE: Se usa para información más detallada que el nivel debug.
  • DEBUG: Se utiliza para mensajes de información detallada que son útiles para debugear una aplicación.
  • INFO: Se utiliza para mensajes de información que resaltan el progreso de la aplicación de una forma general.
  • WARN: Se utiliza para situaciones que podrían ser potencialmente dañinas.
  • ERROR: Se usa para eventos de error que podrían permitir que la aplicación continúe ejecutándose.
  • FATAL: Se usa para errores muy graves, que podrían hacer que la aplicación dejara de funcionar.

Slf4j

Abstrae del framework de logs a utilizar y no requiere cambiar el codigo para cambiar de framework, simplemente a traves de configuración, es totalmente combinable con otros frameworks

  • slf4j + log4j
  • slf4j + java.util.logging
  • slf4j + logback

Configuración Log4j

Threads

Sirve para

  • Permitir ejecutar multi tareas a la vez
  • Mejorar los tiempos de respuesta

Implementacion

  • Se debe heredar la clase Thread que implementa la interfaz Runnable

Un thread es parecido a un proceso la diferencia es que un thread ocupa memoria

Cuando usar manejo de threads?

  • Cuando un proceso este generando cuello de botella para ejecutar otros procesos
  • Cuando se requiera dividir una tarea en múltiples tareas y procesar cada una de ellas de forma simultanea (solo si se puede)

Caso de Uso

Se requiere procesar la compra de multiples clientes de un supermercado en multiples cajas de forma simultanea

Sin usar threads

Caso de Uso

Se requiere procesar la compra de multiples clientes de un supermercado en multiples cajas de forma simultanea

Usando threads

Maven

  • Es una herramienta que permite gestionar y construir un proyecto JAVA.
  • Basado en la estructura de archivo POM (Project Object Model)

 

Que hace el archivo POM?

  • Describe el proyecto
  • Define los módulos con sus dependencias
  • Define el orden de construcción
  • Establece metas claras

 

 

Ciclo de Vida Maven

  1. Compila (.java => .class)
  2. Test (JUnit) (Solo si existe)
  3. Package (.class => .jar)
  4. Install (Copia .jar => Directorio Local)
  5. Deploy (Copia .jar => Remote Server)

Metas

  • Clean => Elimina .class y .jar
  • Site-deploy=> Genera pom.xml y .apt

 

Archivo POM

Que es ANT?

  • ANT => "Another Neat Tool"
  • Open source
  • Automatiza procesos mecanicos y repetitivos.
  • Permite la compilación y ejecucion de tareas de manera orquestada.
  • Es multiplataforma
  • Utiliza archivo de configuración XML llamado "build.xml"

Tareas en ANT

End to End Build

Build.xml - Ejemplo

Uso

  • Descargar  ANT: http://ant.apache.org/bindowload.cgi
  • Disponer de una distribucion de ANT y tener instalado la version 1.5 o superior del JDK
  • Usar el comando ANT a traves de la consola de comandos

Limitaciones

  • Problemas de memoria en proyectos muy grandes
  • Se hace dificil la mantencion

java-01

By Emilio Montes