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