Re: JNDI Datasource example - Mailing list pgsql-jdbc

From Harry Schittler
Subject Re: JNDI Datasource example
Date
Msg-id 412FC4DF.5020007@multimedia-werkstatt.com
Whole thread Raw
In response to JNDI Datasource example  ("Mag Gam" <mag0007@myfastmail.com>)
Responses Re: JNDI Datasource example
List pgsql-jdbc
Mag Gam wrote:

>Does anyone have a GOOD example of PostgreSQL with Tomcat using JNDI? I
>was looking at
>http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
>but the code they provided really did not help. If someone has some code
>please post it. Thanks in advance!
>
>
Just case you were using the same approach as  I did and used the tomcat
admin application to create the JNDI  resource

Lets assume a datasource named "jdbc/testds" and a context named "testctx"

put your postgres jdbc driver into $TOMCAT/common/lib, restart Tomcat

Create the datasource using the tomcat admin application, use
org.postgresql.Driver as driverClass and
jdbc:postgresql://localhost/<database> as URL

insert the following in your applications WEB-INF/web.xml:
  <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/testds</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

Create a META-INF/context.xml and insert:
<Context path="/testctx"  reloadable="true">
    <ResourceLink name="jdbc/testds" global="jdbc/testds"
type="javax.sql.DataSource"/>
</Context>


Use the following code to lookup the datasource:
       try{
         Context ctx = new InitialContext();
         if(ctx == null )
             throw new Exception("JNDI could not create InitalContext ");

         Context envContext  = (Context)ctx.lookup("java:/comp/env");
         datasource =  (DataSource)envContext.lookup(jndiName);

       } catch(Exception e) {
         e.printStackTrace();
       }

this works for me...

cu Harry

pgsql-jdbc by date:

Previous
From: "Mag Gam"
Date:
Subject: JNDI Datasource example
Next
From: "Mag Gam"
Date:
Subject: Re: JNDI Datasource example