Entradas

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/quest...

Error librería de python con npm

Al utilizar npm, es posible que se obtenga un error debido a que no existe python instalado, esto se resuelve ejecutando las siguientes instrucciones. Error python: gyp verb check python checking for Python executable "python2" in the PATH gyp verb `which` failed Error: not found: python2 Solución: npm --add-python-to-path='true' --debug install --global windows-build-tools npm install --global node-gyp Fuentes: 1.  https://github.com/JeremyEnglert/JointsWP/issues/317

Error al activar módulo mod_ssl.so en Apache

Si activar el módulo mod_ssl.so en Apache y reiniciar el servidor se obtiene el siguiente mensaje de error: " mod_ssl.so into server: %1 is not a valid Win32 application. " Se tiene la siguiente solución: Descargar la versión compatible de OpenSSL (Win32), en mi caso funcionó con: Win32 OpenSSL v1.0.2t Light Al momento de instalar OpenSSL, activar la casilla para copiar archivos en el directorio de Windows. Reiniciar Apache Fuentes: https://stackoverflow.com/questions/40017498/cannot-load-modules-mod-ssl-so-into-server http://slproweb.com/products/Win32OpenSSL.html

Crear una instancia de apache server como servicio

Se debe utilizar el siguiente comando, indicando el path del archivo httpd.conf del nuevo servidor apache.   httpd.exe -k install -n "New Apache" -f "C:/path/to/httpd.conf" Donde: "New Apache", es el nombre del servicio Windows a ser creado. Con el anterior comando se crea en servicio y muestra errores en el caso de haberlos; Una ver correjidos los errores se procede a ejecutar el siguiente comando, para terminar la configuración: httpd.exe -k config -n "New Apache" -f "C:\path\to\httpd.conf En el caso de que se quiera eliminar el servicio windows creado, ejecutar el siguiente comando: sc delete <Nombre del servicio> Ej. sc delete "New Apache" Fuentes: https://stackoverflow.com/questions/16959839/how-we-can-run-two-instance-of-apache-http-server-on-same-machine-windows-7 http://geekswithblogs.net/shahedul/archive/2006/10/13/93984.aspx