Pesquisando sobre JNDI / JTA me deparei com um trecho de código que me confirmou a possibilidade de realizar configuração e criação do contexto de conexão dinamicamente (runtime). A idéia é ao invés de fixarmos os parâmetros de acesso ao DB em XML (jndi-name / connection-url) podermos fazer isto através de ANNOTATIONS. Sendo que também mantendo o nível do contexto JPA.
Tipo:
public Connect (String[] args) {
Map props = new HashMap();
props.put("eclipselink.jdbc.user", args[0]);
props.put("eclipselink.jdbc.password", args[1]);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ConexaoPU", props);
...
emf.close();
O ideal também seria se a conexão ficasse acessível pelo contexto igualmente como faz a JPA (@PersistenceContext(unitName=“ConexaoPU”, type=PersistenceContextType.TRANSACTION) ), mas se ao menos nos permitir também dinamizar já é um grande passo…
- Isso é possível, podemos habilitar a aplicação para em runtime configurar a localização e fonte dos dados (JNDI / JTA) dinamicamente???