Datasource bzw. persistence.xml zur Laufzeit ändern

Viktor

Neues Mitglied
Ich habe folgendes Problem ich lese Daten aus einer XML Datei aus und füge sie verändert in einer Datenbank.
Ich möchte gerne das die Daten, die ich in der GUI abfrage übernommen werden und anhand dieser Daten eine Datasource erweitert/erstellt wird. (Daten wie ip,username,passwort,Datenbankname...)

Ich nutze JBoss 6.0, EJB 3.1, Postgresql Datenbank und JPA.

meine Persistence.xml

Java:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	<persistence-unit name="NaviPersistent" transaction-type="JTA">
	<jta-data-source>java:/PostgresDS</jta-data-source>
	<class>entities.Nachbarn</class>
	<class>entities.Node</class>
	<class>entities.Strassendauer</class>
	<class>entities.StrassendauerPK</class>
	<class>entities.Kreuzungen</class>
	<class>entities.KreuzungenPK</class>
	</persistence-unit>
</persistence>

PostgresDS
Java:
<datasources>
  <local-tx-datasource>
    <jndi-name>PostgresDS</jndi-name>
    <connection-url>jdbc:postgresql://127.0.0.1:5432/Muenster/public</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <user-name>admin</user-name>
    <password>admin</password>
  </local-tx-datasource>
</datasources>

Ich habe mir gedacht vielleicht kann ich ja meinen EntityManager einfach überschreiben

Java:
Map properties = new HashMap();
		properties.put("hibernate.connection.driver_class", "org.postgresql.Driver");
		properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1:5432/test/public");
		properties.put("hibernate.connection.username", "admin");
		properties.put("hibernate.connection.password", "admin");
		
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("NaviPersistent",properties);
		 manager = (EntityManager) emf.createEntityManager();

aber ich benutzte kein hibernate sonder nur JPA.

Ich sitz schon seit Stunden an dem Problem komm aber leider nicht weiter.
Ich habe leider keine Ahnung von Hibernate oder Spring muss ich dazu sagen.

Vielen Dank
 
Zuletzt bearbeitet:

Neue Themen


Oben