Entradas

Mostrando entradas de 2020

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO]

Creación de Head Dump en java

Un head dump es una captura de todos los objetos en memoria alojados en la JVM en un determinado momento. Los head dump son una herramienta muy útil para la detección de memory-leaks y optimizar el uso de memoria en las aplicaciones Java. A continuación se muestra un ejemplo de como utilizar la herramienta jmap de la JDK  jmap -dump:[live],format=b,file=<file-path> <pid> Donde: live : Indica que se van a capturar solo los objectos que tienen referencias activas en la JVM y descartar los que están listos para ser recolectados por el garbage collector. format=b : Indica que el archivo dump va a ser generado en formado binario. file : Indica el path donde va a ser escrito el head dump pid : Indica el proceso java a ser capturado Ejemplo: jmap -dump:live,format=b,file=/home/wl/dump.bin 191907 Nota:  El pid se puede obtener con el siguiente comando: ps -fea | grep java | grep -i  'nombre_proceso' | grep -v grep | awk '{print $2}' Donde: nombre_proceso : Es un

Configuración middleware proxy en React

Imagen
Con la finalidad de evitar bloqueos de tipo CORS-Origin al momento de consumir servicios REST en un ambiente de desarrollo con React Js; es posible, configurar un proxy middleware. 1. Configuración en archivo package.json Colocar la propiedad proxy en el archivo package.json, indicando la url y puerto por el cual se levanta el servidor de desarrollo react. 2. Configuración de archivo setupProxy.js En el directorio /src  un archivo llamado  setupProxy.js y colocar la siguiente información: 3. Verificar /ruta-api  El valor de /ruta-api debe ser el mismo que se utiliza en el llamado fetch para consumir un servicio REST Fuentes:   https://www.npmjs.com/package/http-proxy-middleware#http-proxy-middleware-options

Ejecutar clase Java en .jar con dependencia log4j

Para ejecutar una clase Java (JDK8) que está dentro de un archivo .jar y que además dependa de clases y configuración externa de  log4j , se debe usar el siguiente comando: java -cp wl-tools.jar;log4j-12.jar  -Dlog4j.configuration=file:"./log4j.properties" com.wl.tools.Encriptor.KeyGenerator 456 MD5 Fuentes:   https://stackoverflow.com/questions/8897528/should-log4-properties-be-on-the-classpath

Configuración en Apache para evitar bloqueos tipo CORS-Origin

Es posible evitar el bloqueo por tipo CORS-Origin, realizando la siguiente configuración: <Location /ws-api-login>       SetEnvIf Origin "http(s)?://(.+\.)?(localhost|host\.com)(:\d{1,5})?$" CORS=$0       Header always set Access-Control-Allow-Origin "%{CORS}e" env=CORS          Header merge  Vary "Origin"       Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"       Header always set Access-Control-Max-Age "1000"       Header always set Access-Control-Allow-Headers "*"          RewriteEngine On       RewriteCond %{REQUEST_METHOD} OPTIONS       RewriteRule ^(.*)$ $1 [R=200,L] </Location> Nota: Se debe habilitar el módulo rewrite LoadModule rewrite_module modules/mod_rewrite.so Fuentes:   https://tecadmin.net/enable-cors-apache/ https://stackoverflow.com/questions/1653308/access-control-allow-origin-multiple-origin-domains