Bien, continuamos con implementar nuestro interceptor.
La idea de calcular el tiempo transcurrido en el recuesto.
Pero primero vamos a agregar un atributo.
Este atributo corresponde al log o Logger para poder registrar algún evento en el log o en la traza
de nuestra aplicación.
No sé.
Por ejemplo, cuando entramos al método Handler, cuando salimos del método post candle.
En fin, para ir imprimiendo también en el log.
El tiempo transcurrido o lo que queramos.
Ven un privé static final.
Es decir una constante para log Logger Logger Factory punto bien.
Y acá tenemos que coger el get logger pero de acá de LF Foggy simple logging for es importante Logger
Factory.
Perfecto.
Acá también está la interfaz, la implementación, acá la interfaz Logger también de LF 4j simple logging
forjé importamos acaban nonbre la clase en este caso.
Tiempo transcurrido interceptor punto class.
Bien, y con el Logger acá podemos mostrar información del interceptor, por ejemplo.
Info.
Podríamos colocar el nombre del interceptor en dos punto espacio.
El método.
Entrando, es decir, entrando al método, prestándole del interceptor.
Bueno, y también voy a copiar, lo pegamos acá.
Acá sería post Candle saliendo.
Lo segundo, calcular el tiempo en milisegundos, el tiempo actual, el tiempo inicio con la clase estática
system de yaba system carran time milisegundo.
retornÃ un lonko.
El tiempo inicia el tiempo actual en milisegundo perfecto y lo guardamos en el recuesto.
Entonces, por acá request set atributo, guardar atributo o asignar atributos, le damos un nombre,
el que queramos.
Por ejemplo, este mismo tiempo inicio y lo guardamos con ese valor tiempo inicio.
Guardamos el tiempo inicial perfecto y por ejemplo, podríamos simular una demora utilizando Dredd es
lib, pero que sea un random entonces random
vamos a importar de ya útil rrando.
Un Integer demorÃ o Dailey miles segundo, por ejemplo, 1 500.000 de segundo o medio segundo.
Una demora como tiempo máximo puede ser más o menos, pero hasta 500 milisegundos.
Entonces con rrando punto extremo next int, next integer.
Y acá obtenemos el valor aleatorio, pero como argumento le pasamos 500, es decir que va desde cero.
Acá tenemos un random entre cero inclusive y el valor que se indica acá exclusivo, entonces va entre
cero y 499.
Acá vamos a tener este valor un integer.
Y ahora con Grid puntos lib hacemos un descanso, una pausa en milisegundos.
Cuánto?
Bueno, un random entre cero y 499.
Y finalmente retornamos thru para continúa con ejecución.
Simplemente estamos simulando una sobrecarga, un tiempo extra de demora o delay que es aleatorio,
porque si no, bueno, si no colocamos un rrando con un tiempo de demora con un delay bueno, siempre
va a mostrar cero o uno o un valor muy pequeño.
Entonces la idea simular una carga en nuestro recuesto.
Bien.
El siguiente paso.
Bueno, ya tenemos listo el handler.
Acá asignamos el tiempo de inicio y acá obtenemos el tiempo final.
Entonces muy parecido voy a copiar todo acá, pero lo pegamos acá.
Tiempo, fin y también tiempo de inicio.
Pero el tiempo de inicio lo tenemos acá.
Cómo lo capturamos?
Bueno, con el recuesto.
Recuerden que acá lo asignamos con Set Atributo y acá bueno, con el request lo tenemos con el atributo
punto nyet.
Atributo por acá.
Y recibe el nombre, mismo nombre que le dimos.
Acá tiempo de inicio, pero acá se guarda como un tipo objeto, objeto de un tipo genérico.
Y acá se obtiene como un objeto.
Se fijan Hoggett.
Entonces tenemos que convertir este object a un tipo lonko.
Hacemos un cast.
Pero mejor con mayúscula, porque estaba convirtiendo un objeto de referencia, un Hoggett a un tipo
Object lonko en mayúscula y acá puese con minúscula.
Da lo mismo o con mayúscula.
Bien.
Y por último, el tiempo transcurrido.
Hay que restar el tiempo fin.
Tiempo final
menos.
El tiempo inicio.
Ya se nos da el tiempo transcurrido en total en milisegundos.
Y este valor lo tenemos que pasar al Adita usando el modelo AMBIO.
Pero siempre, como buena práctica, es recomendable validar que Model Ambigú sea distinto de NULL.
Entonces es distinto NULL.
Bueno, acá model ambio.
Punto Add object.
Guardar objeto.
Agregar objeto.
Y lo pasamos a la vista con un nombre atributo.
Por ejemplo, el que queramos.
Pero también podríamos usar este mismo tiempo transcurrido este acá.
Y como valor tiempo transcurrido, estamos casi listos.
Voy a copiar esto acá, lo de pegar acá, por ejemplo.
Tiempo transcurrido.
2 punto.
Esto lo quitamos.
Lo concatenados más milisegundos y guardamos.
Estamos listo.
Entonces, para finalizar y resumir un poco lo que hicimos primero, bueno, mostramos algo en el Logger
cuando entramos al preguntele.
Luego calculamos el tiempo.
Inicio con System Carret Time Milisegundos.
Lo guardamos en el recuerdo, en los atributos.
Simulamos un delay, una carga, una demora.
En el recuas retornamos true para que continúe con el rico test se ejecuta el método del controlador
o de los controladores y después cuando se ejecuten.
Acá tenemos el post.
Calculamos nuevamente el tiempo actual que sería el tiempo fin.
Cuando finaliza el rico es el tiempo inicio.
Lo obtenemos a través del request en el pre.
Lo asignamos con 7 atributos y acá lo obtenemos con guet atributo mismo nombre con el cual lo guardamos.
Hacemos el cast along, hacemos la resta, restamos el tiempo final menos el inicial tiempo.
Transcurrido el total valíamos que modelan busse de tinto nulo.
Si es distinto null, entonces lo guardamos a la vista.
Tiempo transcurrido y lo pasamos acá para que después lo podamos imprimir en nuestra plantillas y listo.
Bueno, acá mostramos información en el log y finalizamos bien y continuamos la siguiente clase con
configurar y registrar nuestro interceptor en nuestro stack de nuestra aplicación.
Nos vemos en la siguiente clase.