DataSourceHandler und DBCredentials

Dokumente für die Entwicklung von und mit JVx.

DataSourceHandler und DBCredentials

Postby Development@SIB » Sun Jan 23, 2011 2:32 pm

Die einfache Integration mehrerer Datenbanken stellt mit JVx kein Problem dar. Die Konfiguration wird üblicherweise in der Konfiguration, config.xml, der Applikation durchgeführt. Dadurch kann in den LifeCycle Objekten problemlos darauf zugegriffen werden:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <securitymanager>
    <class>com.sibvisions.rad.server.security.DBSecurityManager</class>
    <database datasource="mydb" />
  </securitymanager>
 
  <datasource>
    <db name="mydb">
      <url>jdbc:oracle:thin:@localhost:1521:mydb</url>
      <username>user</username>
      <password>password</password>
    </db>
    <db name="masterdb">
      <url>jdbc:derby://localhost:1527/masterdb</url>
      <username>master</username>
      <password>master</password>
    </db>
  </datasource>
</application>


Der Zugriff erfolgt über:

Code: Select all
IConfiguration config = SessionContext.getCurrentSessionConfig();

dba = DBAccess.getDBAccess(DBSecurityManager.getCredentials(config));
dba.open();

wobei hier die DataSource des SecurityManagers verwendet wird. Um unabhängig vom Securiy Manager auf die DataSources zuzugreifen, verwenden wir den DataSourceHandler:

Code: Select all
IConfiguration config = SessionContext.getCurrentSessionConfig();

DBCredentials cred = DataSourceHandler.createDBCredentials(config, "masterdb");

dba = DBAccess.getDBAccess(cred);
dba.open();



Tipp

Der DB Security Manager ermöglicht die Verwendung einer Standard DataSource ohne zusätzlichen Konfigurationaufwand:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <securitymanager>
    <class>com.sibvisions.rad.server.security.DBSecurityManager</class>
  </securitymanager>
 
  <datasource>
    <db name="default">
      <url>jdbc:oracle:thin:@localhost:1521:mydb</url>
      <username>user</username>
      <password>password</password>
    </db>
  </datasource>
</application>

Der Security Manager verwendet die DataSource mit der Bezeichnung "default" als Standard Verbindung.
User avatar
Development@SIB
 
Posts: 311
Joined: Mon Sep 28, 2009 1:54 pm

Return to Dokumentation