Cómo configurar Wildfly para leer variables de entorno

Cómo configurar Wildfly para leer variables de entorno

Al transferir una aplicación del servidor de aplicaciones Java GlassFish a Wildfly, noté que las aplicaciones en Wildfly informan que las variables de entorno están vacías, mientras que GlassFish informa un valor. El código de la aplicación es el mismo; el comando para recuperar la variable de entorno es:

System.getenv("MY_ENV_VAR");

Estoy en Linux y configuro la variable de entorno en el archivo .bashrc del usuario que inicia GlassFish y Wildfly. Intenté agregar la variable a los archivos bin/standalone.conf, bin/standalone.sh y bin/.jbossclirc de Wildfly sin éxito.

Aquí hay una pregunta similar sin respuesta en el foro JBoss:

https://developer.jboss.org/thread/229862

Nota: una variable de entorno y una propiedad del sistema no son lo mismo. Una solución alternativa sería reescribir todas mis aplicaciones para usar propiedades del sistema en lugar de variables de entorno, pero me gustaría evitarlo si es posible.

Respuesta1

Lo hice funcionar configurando las variables de entorno en el archivo de configuración systemd como se describe aquí:

¿Cómo configurar la variable de entorno en el servicio systemd?

Parece que la diferencia entre GlassFish y Wildfly estaba realmente en los scripts de servicio, ya que GlassFish usaba el /etc/init.d más antiguo mientras que Wildfly usaba el /etc/systemd más nuevo.

información relacionada