Persistence units in persistence.xml are created during building the application. As I want to change the database url at runtime, is there any way to modify the persistence unit at runtime? I supposed to use different database other than pre-binded one after distributed.
I'm using EclipseLink (JPA 2.1)
In Long-lived Session Architecture you should create a Plug-in-Framework.
Therefore you need to create a different Thread-Group and Class-Repository.
This might be your Class-Loader-Tree
persistence.xml
inside, specify the Database-Configuration from Application-Class-LoaderKeep the persistence unit file (Persistence.xml) as it's. You can override the properties in it as follows.
You can use Persistence.createEntityManagerFactory(Map) to pass properties to choose the database URL and other settings.