Datenbankverbindung per JNDI Lookup
3 posts
• Page 1 of 1
Datenbankverbindung per JNDI Lookup
Ich würde gerne meine Datenbankverbindung im Application-Server konfigurieren und diese Verbindung per JNDI-Lookup finden und benutzen. Geht das mit dem JVx-Framework?
- iferle
- Posts: 6
- Joined: Tue Oct 19, 2010 9:45 am
- Location: München
Re: Datenbankverbindung per JNDI Lookup
Objekte via JNDI finden und verwenden ist problemlos möglich, da Sie im Lifecycle Objekt beliebigen Java Code ausführen können.
Die DBStorage nutzt ein DBAccess Objekt für den Datenbankzugriff, und nicht die Connection direkt. Falls Sie eine java.sql.Connection konfigurieren möchten, dann ist es im Moment (JVx 0.8) nicht möglich daß ein DBAccess Objekt mit einer bestehenden Connection erstellt wird!
Falls Sie ev. gemeint haben, ob ein DBAccess Objekt automatisch via JNDI initialisiert werden kann, dann ist die Antwort - Nein. In DBAccess ist keine direkte JNDI Unterstützung implementiert.
Falls Sie die DB Konfiguration nicht im Source Code durchführen wollen und z.B. aus der Applikationskonfiguration laden wollen, dann bietet sich der SessionContext an:
Applikationskonfiguration - config.xml
Lifecycle Objekt - Session.java
Wir empfehlen diese Variante, da dadurch die Konfiguration auch mit der Applikation deployed werden kann. Im Fall von JNDI müsste auch der Applikationsserver konfiguriert werden.
Die DBStorage nutzt ein DBAccess Objekt für den Datenbankzugriff, und nicht die Connection direkt. Falls Sie eine java.sql.Connection konfigurieren möchten, dann ist es im Moment (JVx 0.8) nicht möglich daß ein DBAccess Objekt mit einer bestehenden Connection erstellt wird!
Falls Sie ev. gemeint haben, ob ein DBAccess Objekt automatisch via JNDI initialisiert werden kann, dann ist die Antwort - Nein. In DBAccess ist keine direkte JNDI Unterstützung implementiert.
Falls Sie die DB Konfiguration nicht im Source Code durchführen wollen und z.B. aus der Applikationskonfiguration laden wollen, dann bietet sich der SessionContext an:
Applikationskonfiguration - config.xml
- Code: Select all
<application>
<securitymanager>
<class>com.sibvisions.rad.server.security.DBSecurityManager</class>
<database>
<url>URL</url>
<username>USER</username>
<password>PWD</password>
</database>
</securitymanager>
</application>
Lifecycle Objekt - Session.java
- Code: Select all
IConfiguration cfgSession = SessionContext.getCurrentSessionConfig();
DBAccess dba = DBAccess.getDBAccess(
cfgSession.getProperty("/application/securitymanager/database/url"));
dba.setUsername(cfgSession.getProperty("/application/securitymanager/database/username"));
dba.setPassword(cfgSession.getProperty("/application/securitymanager/database/password"));
dba.open();
Wir empfehlen diese Variante, da dadurch die Konfiguration auch mit der Applikation deployed werden kann. Im Fall von JNDI müsste auch der Applikationsserver konfiguriert werden.
-
Support@SIB - Posts: 353
- Joined: Mon Sep 28, 2009 1:56 pm
Re: Datenbankverbindung per JNDI Lookup
Mit JVx 0.9 kann durch den Aufruf:
eine Instanz von DBAccess erstellt werden, die mit einer vorkonfigurierten Connection funktioniert (siehe Support System).
Die Methoden
haben in diesem Fall keine Auswirkung und können vernachlässigt werden!
- Code: Select all
DBAccess.getDBAccess(java.sql.Connection);
eine Instanz von DBAccess erstellt werden, die mit einer vorkonfigurierten Connection funktioniert (siehe Support System).
Die Methoden
- Code: Select all
<DBAccess>.open();
<DBAccess>.close();
haben in diesem Fall keine Auswirkung und können vernachlässigt werden!
-
Development@SIB - Posts: 325
- Joined: Mon Sep 28, 2009 1:54 pm
3 posts
• Page 1 of 1