Tengo una aplicación web Java que aprovecha JPA. La instancia de la base de datos se especifica en el archivo persistence.xml
con la etiqueta jta-data-source
.¿Cómo "parametrizar" la instancia de la base de datos JPA en persistence.xml?
Me gustaría implementar una segunda copia de la aplicación web en el mismo servidor (glassfish), pero apunté a una instancia de base de datos diferente.
¿Cuál es la mejor manera de lograr esto? Creo que, idealmente, me gustaría colocar un archivo de anulación persistence.xml
fuera de la guerra (en algún lugar de la ruta de clase?). No estoy exactamente seguro de dónde ponerlo o cómo definirlo de una manera que no confíe con mi otra instancia. Puedo vernos hospedando un puñado de instancias de esta manera (SaaS) y me gustaría que la configuración esté fuera de la guerra implementada para que no se convierta en un problema de mantenimiento. Compartir una instancia de base de datos entre clientes no es una opción por razones de seguridad.
Estoy seguro de que este no es un problema exclusivo para nuestro grupo. ¿Cuáles son las mejores prácticas o soluciones que otros están utilizando para resolver este problema?
Si tiene varias instancias únicas de la aplicación ejecutándose, ¿por qué no simplemente cambia el archivo persistence.xml para la segunda instancia? – kgrad
Parece que es un problema de mantenimiento tener que hacer esto manualmente para cada instancia en cada compilación, me gustaría una solución automatizada. – Vinnie