JNDI Datasource example

Lists: pgsql-jdbc
From: "Mag Gam" <mag0007(at)myfastmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: JNDI Datasource example
Date: 2004-08-27 19:53:00
Message-ID: 1093636380.30796.203209982@webmail.messagingengine.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

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!


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: 2004-08-27 23:33:51
Message-ID: 412FC4DF.5020007@multimedia-werkstatt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: 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


From: "Mag Gam" <mag0007(at)myfastmail(dot)com>
To: "Harry Schittler" <hs(at)multimedia-werkstatt(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JNDI Datasource example
Date: 2004-08-28 13:09:20
Message-ID: 1093698560.18627.203238436@webmail.messagingengine.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

When I run this code snipnet, I get this problem.

symbol : variable datasource
location: class Test
datasource = (DataSource)envContext.lookup(jndiName);
^
Test.java:22: cannot resolve symbol
symbol : variable jndiName
location: class Test
datasource = (DataSource)envContext.lookup(jndiName);

echo $CLASSPATH
/usr/local/j2sdk1.4.2_05/lib/tools.jar:/usr/local/j2sdk1.4.2_05/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/servlet.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/pg74.215.jdbc3.jar

I looked everywhere, still problems with this datasource.

Thanks!

On Sat, 28 Aug 2004 01:33:51 +0200, "Harry Schittler"
<hs(at)multimedia-werkstatt(dot)com> said:
> 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


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: 2004-08-28 13:44:43
Message-ID: 41308C4B.3040102@multimedia-werkstatt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Mag Gam wrote:

>When I run this code snipnet, I get this problem.
>
>
>symbol : variable datasource
>location: class Test
> datasource = (DataSource)envContext.lookup(jndiName);
> ^
>Test.java:22: cannot resolve symbol
>symbol : variable jndiName
>location: class Test
> datasource = (DataSource)envContext.lookup(jndiName);
>
>
>echo $CLASSPATH
>/usr/local/j2sdk1.4.2_05/lib/tools.jar:/usr/local/j2sdk1.4.2_05/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/servlet.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/pg74.215.jdbc3.jar
>
>
>I looked everywhere, still problems with this datasource.
>
>
Replace the variable jndiName with "jdbc/testds", sorry I missed this one..

cu Harry


From: "Mag Gam" <mag0007(at)myfastmail(dot)com>
To: "Harry Schittler" <hs(at)multimedia-werkstatt(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JNDI Datasource example
Date: 2004-08-28 14:02:00
Message-ID: 1093701720.30665.203239813@webmail.messagingengine.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Harry,

Thanks. Looks like the code compiles fine. However, I get no response
from postgresql (logs). Do you have a full blown Java example, instead
of a small code snipet? I think I am doing something wrong with my code.

Thanks in advance.

On Sat, 28 Aug 2004 15:44:43 +0200, "Harry Schittler"
<hs(at)multimedia-werkstatt(dot)com> said:
> Mag Gam wrote:
>
> >When I run this code snipnet, I get this problem.
> >
> >
> >symbol : variable datasource
> >location: class Test
> > datasource = (DataSource)envContext.lookup(jndiName);
> > ^
> >Test.java:22: cannot resolve symbol
> >symbol : variable jndiName
> >location: class Test
> > datasource = (DataSource)envContext.lookup(jndiName);
> >
> >
> >echo $CLASSPATH
> >/usr/local/j2sdk1.4.2_05/lib/tools.jar:/usr/local/j2sdk1.4.2_05/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/servlet.jar:/usr/local/jakarta-tomcat-4.1.30/common/lib/pg74.215.jdbc3.jar
> >
> >
> >I looked everywhere, still problems with this datasource.
> >
> >
> Replace the variable jndiName with "jdbc/testds", sorry I missed this
> one..
>
> cu Harry