JBoss: Frage zur Datasource in der ...-ds.xml

Hannes23

Bekanntes Mitglied
Hallo zusammen,

in meinem JBoss-Deployverzeichnis befindet sich eine postgres-ds.xml, in der eine datasources angegeben habe - soweit funktioniert alles gut. Wie aber kann ich ein weiteres Projekt über diesen JBoss laufen lassen, das eine andere Postgres-DB benutzt? Lege ich in meiner postgres-ds.xml einfach eine weitere Datasource an oder muss ich eine neue "postgres2-ds.xml" anlegen? Und wie teile ich meinem Java-Programm eigentlich mit, welches *.xml es für die Persistence-Unit verwenden soll? Sucht es automatisch in allen *.xml im deploy-Verzeichnis nach dem Namen der angegebenen Persistence Unit?

So viele Fragen...

Viele Grüße, Hannes
 

fastjack

Top Contributor
Wie aber kann ich ein weiteres Projekt über diesen JBoss laufen lassen, das eine andere Postgres-DB benutzt? Lege ich in meiner postgres-ds.xml einfach eine weitere Datasource an oder muss ich eine neue "postgres2-ds.xml" anlegen?
In der Datasource-Datei definierst Du ja einen JNDI-Namen, dieser muß unterschiedlich sein. Wie Du die Datei benennst, ist fast egal, *-ds.xml sollte es aber sein.

Und wie teile ich meinem Java-Programm eigentlich mit, welches *.xml es für die Persistence-Unit verwenden soll?
Im Programm wird die Datasource über den JNDI-Namen angesprochen, z.B. durch context.lookup("MeineDB") ...

Sucht es automatisch in allen *.xml im deploy-Verzeichnis nach dem Namen der angegebenen Persistence Unit?
Denke ich eher nicht. Irgendwo mußt Du Deiner Persistenzschicht den JNDI-Namen unterjubeln.
 

Hannes23

Bekanntes Mitglied
Hallo FastJack,

danke für Deine Antwort!! Ich hab es in meinem Programm so gemacht:

Bei der Definition des EntityManagers gebe ich die PersistenceUnit an (Hier: MyPersistenceUnit):

Java:
@PersistenceContext(unitName="MyPersistenceUnit")
public EntityManager em;


In der persistence.xml gebe ich dann zur MyPersistenceUnit die jeweilige jta-data-source an (hier: java:/PostgresDataSource)

Java:
<?xml version="1.0" encoding="UTF-8"?>

<persistence 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/ persistence_1_0.xsd" version="1.0">

        <persistence-unit name="MyPersistenceUnit" >
                <jta-data-source>java:/PostgresDataSource</jta-data-source>
                <properties>
                        <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
                        <property name="hibernate.hbm2ddl.auto" value="update"/>
                </properties>
        </persistence-unit>
</persistence>

...und in der postgres-ds.xml (deploy-Verzeichnis) gebe ich dann zum jndi-namen (hier: PostgresDataSource) die jeweiligen Zugangsdaten zur Datenbank an:

Java:
<datasources>
  <local-tx-datasource>
    <jndi-name>PostgresDS</jndi-name>
    <connection-url>jdbc:postgresql://localhost:5432/Datenbank</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <user-name>user</user-name>
    <password>passwort</password>
   
      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
      <metadata>
         <type-mapping>PostgreSQL 7.2</type-mapping>
      </metadata>
  </local-tx-datasource>

Soweit funktioniert das wie gesagt. Wobei mich das eigentlich wundert, da ich die postgres-ds.xml und ihren Pfand nie irgendwo angegeben habe....

Um eine zweite Datenbankverbindung aufzubauen (also ein zweites Java-Programm mit Postgres-Zugriff im gleichen JBoss Deploy-Verzeichnis zu haben) muss ich dann einfach in der gleichen postgres-ds.xml den Bereich

Java:
 <local-tx-datasource>
...
 </local-tx-datasource>

nochmal mit einem weiteren jndi-namen anlegen? Oder macht man dann eher ein neues xxx-ds.xml?

Viele Grüße, Hannes
 

fastjack

Top Contributor
Soweit funktioniert das wie gesagt. Wobei mich das eigentlich wundert, da ich die postgres-ds.xml und ihren Pfand nie irgendwo angegeben habe....
Der jBoss lädt diese Dateien im laufenden Betrieb und stellt sie durch JNDI bereit.

nochmal mit einem weiteren jndi-namen anlegen? Oder macht man dann eher ein neues xxx-ds.xml?
Beides sollte gehen.

Wie die Persistence-XML bei Dir mit der Datasource verbunden wird, kann ich Dir leider nicht sagen.
 

Hannes23

Bekanntes Mitglied
Hallo FastJack,

danke für die Infos! Ich hab es jetzt auch so gemacht, dass ich zwei JNDIS in die xx-ds.xml aufgenommen habe und es klappt einwandfrei...Thema erledigt :)

Vielen Dank und viele Grüße,

Hannes
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
R MySQL Datasource mit JBoss 7.1.1 Datenbankprogrammierung 2
S JBoss und PostgreSQL DB Datenbankprogrammierung 3
H JBoss mit MySql connecten Datenbankprogrammierung 2
N JDBC Charset / Jboss/Postgres Datenbankprogrammierung 3
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
N hibernate: datasource Datenbankprogrammierung 7
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
K MySQL DataSource DriverManager Datenbankprogrammierung 4
J Zugriff mit DataSource Datenbankprogrammierung 7
T Problem mit DataSource und JNDI Datenbankprogrammierung 5
P Die Einrichtung einer DataSource Verbindung mit meiner DB Datenbankprogrammierung 5
A Datasource JNDI -Fehlermeldung Datenbankprogrammierung 2

Ähnliche Java Themen


Oben