# DataSource



## Bluevelvet64 (23. Okt 2007)

Hallo

ich benötige eine Analogie :

Unter Java richte ich mir eine Connection in der einen Java Klasse ein 

mit java.sql.Connection 

und kann diese dann in einer anderen Klasse verwenden.


Wie geht das analog wenn ich im Tomcat in der ROOT.xml eine resource erstellt habe, diese aber in einer Java Klasse verwenden will.

Mir genügen 2 oder 3 zeilen in denen ich sehe was ich importieren muss und wie die Resource genutzt wird.

Danke für eure Antwort.


----------



## maki (23. Okt 2007)

> Wie geht das analog wenn ich im Tomcat in der ROOT.xml eine resource erstellt habe, diese aber in einer Java Klasse verwenden will.


Was ist denn die ROOT.xml???
Gibt's so was überhaupt in Tomcat? Ich glaube nicht...

Willst du vielleicht eine Containermanaged pooled Datasource einrichten auf welche du per JNDI zugreifen kannst?


----------



## ms (23. Okt 2007)

ROOT.xml definiert den root context für einen host in einer eigenen xml Datei.
Dort kann man soweit ich weis auch jndi-ressourcen setzen.

Schau mal hier: http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html

ms


----------



## maki (23. Okt 2007)

Danke ms.

Warum für den ROOT Context?
Warum nicht in den eigenen Context?
Oder lässt er etwa seine webapp im ROOT context laufen?
Soweit ich weiss bekommt man Probleme wenn man versucht den Initialcontext einer Webanwendung anzufordern die den ROOT context hat.


----------



## Bluevelvet64 (24. Okt 2007)

Folgendes benötige ich :

Einfach analog zu folgender Java Programmierung ein Beispel :

Klasse die die Connection bildet

   Connection verbindungCON;

   .
   .
   .

	Class.forName("org.h2.Driver");
        verbindungCON = DriverManager.getConnection("jdbc:h2:file:daten" + TRENNER + "fm.daten", "fm", "");
   .
   .


Dann eine Klasse die diese Connection nutzt :


    String readST = "SELECT * FROM einsatzstand WHERE count = " + count;
    Statement readSTA = FM.verbindungCON.createStatement();
    ResultSet readRES = readSTA.executeQuery(readST);
    if(readRES.next()==true)
	wert=readRES.getInt(feldST);
    readRES.close();
    readSTA.close();


Nun möchte ich eine Webanwendung schreiben

Meine Connection bilde ich zum Beispiel in der ROOT.xml

                <Resource
                        name="jdbc/LiferayPool"
                        auth="Container"
                        type="javax.sql.DataSource"
                        driverClassName="com.mysql.jdbc.Driver"
                        url="jdbc:mysql://localhost:3306/lportal?useUnicode=true&characterEncoding=UTF-8"
                        username="root"
                        password=""
                        maxActive="100"
                        maxIdle="100"
                        maxWait="10000"
                />



Nun möchte ich die Resource  jdbc/LiferayPool  innerhalb von Java-Klassen nutzen.

Wie sähe der Code aus ?

Dafür ein kleines Beispiel wäre ganz toll

Danke


----------

