Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: JNDI Datasource example


  • From: Harry Schittler <hs(at)multimedia-werkstatt(dot)com>
  • To: Mag Gam <mag0007(at)myfastmail(dot)com>
  • Cc: pgsql-jdbc(at)postgresql(dot)org
  • Subject: Re: JNDI Datasource example
  • Date: Sat, 28 Aug 2004 01:33:51 +0200
  • Message-id: <412FC4DF.5020007@multimedia-werkstatt.com> <text/plain>

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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group