Possiedo un'applicazione web Java che sfrutta JPA. L'istanza del database è specificata nel file persistence.xml
utilizzando il tag jta-data-source
.Come "parametrizzare" l'istanza del database JPA in persistence.xml?
Vorrei distribuire una seconda copia dell'applicazione Web sullo stesso server (glassfish), ma puntato su un'istanza di database diversa.
Qual è il modo migliore per raggiungere questo obiettivo? Penso che idealmente, mi piacerebbe inserire un file override persistence.xml
al di fuori della guerra (da qualche parte sul classpath?). Non sono esattamente sicuro su dove metterlo o su come definirlo in un modo che non possa confondere con la mia altra istanza. Posso vederci ospitare una manciata di istanze in questo modo (SaaS) e vorrei che la configurazione fosse al di fuori della guerra dispiegata in modo che non diventasse un problema di manutenzione. La condivisione di un'istanza di database tra client non è un'opzione per motivi di sicurezza.
Sono sicuro che questo non è un problema unico per il nostro gruppo. Quali sono le migliori pratiche o soluzioni che altri stanno usando per risolvere questo problema?
Se sono presenti più istanze uniche dell'app in esecuzione, perché non modificare semplicemente persistence.xml per la seconda istanza? – kgrad
Sembra che un problema di manutenzione debba essere eseguito manualmente per ogni istanza su ogni build, mi piacerebbe una soluzione automatizzata. – Vinnie