¿Cuál es el beneficio de implementar un archivo war en lugar de un directorio explotado?

StackOverflow https://stackoverflow.com/questions/1441728

  •  10-07-2019
  •  | 
  •  

Pregunta

Estoy configurando un instalador para nuestro producto que, hasta ahora, se distribuía como un archivo war, generalmente en tomcat. Una vez que Tomcat ha explotado el directorio, el usuario debe abrir un archivo de propiedades y establecer la información de conexión de su base de datos. Me gustaría que el instalador haga esto (estamos usando install4j) pero no parece haber una forma integrada de modificar un archivo de texto dentro de un archivo war. Podría hacer que el instalador implemente la aplicación como un directorio explotado, lo que me ahorraría el problema aquí, pero ¿qué pierdo al implementar así en lugar de implementar la guerra?

¿Fue útil?

Solución

Podría funcionar mejor configurar la conexión de la base de datos como una fuente de datos JNDI, en lugar de editar manualmente un archivo de propiedades dentro del directorio webapp /. Esto es especialmente importante si desea permitir que los usuarios vuelvan a implementar la aplicación desde el archivo .WAR sin sobrescribir sus cambios de configuración local.

Por supuesto, la configuración JNDI no se realizará trivialmente a través del instalador, ya que el mecanismo utilizado varía de un servidor de aplicación a otro. Sin embargo, cualquier administrador competente del servidor de aplicaciones Java debe saber cómo configurar una fuente de datos con nombre. Además, al delegar la responsabilidad en el servidor de aplicaciones, permite que sus usuarios aprovechen la agrupación de conexiones, la agrupación y cualquier otra característica proporcionada por la implementación de la fuente de datos incluida en su servidor de aplicaciones de elección.

Otros consejos

No creo que sea mucho, quizás un poco de espacio en disco, pero si eso no es un problema, estaría bien. ¿Ha pensado en hacer que el instalador genere el archivo de propiedades y usar una biblioteca ZIP (.WAR es realmente un .ZIP - cámbiele el nombre a .ZIP y vea lo que obtiene :)) para reemplazarlo o agregarlo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top