commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Huang" <danih...@cisco.com>
Subject RE: [DBCP] Servlets sharing a DataSource
Date Wed, 16 Mar 2005 18:59:32 GMT
If you are using Tomcat, you can config your DataSource in server.xml. Take
a look at
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-how
to.html

Thanks
Daniel

-----Original Message-----
From: Dipole Moment [mailto:dipole.moment@gmail.com] 
Sent: Monday, March 07, 2005 4:34 AM
To: commons-user@jakarta.apache.org
Subject: [DBCP] Servlets sharing a DataSource

Hi all,

I've been researching what's the best way of sharing a DataSource
between servlets with DBCP, and I've come up with the following
scenario:  I implement a ServletContextListener and obtain a
DataSource in contextInitialized() method and put it as an attribute
in ServletContext

        Context env = null;
        DataSource pool;
        env = (Context) new InitialContext().lookup("java:comp/env");
        pool = (DataSource) env.lookup("jdbc/postgres");
        context.setAttribute("POOL", pool);

and then every servlet that wants to execute a query, looks up the
POOL attribute and does a getConnection() on it, creates a statement
and does its job...

        pool = (DataSource) context.getAttribute("POOL");
        conn = pool.getConnection();
        stmt = conn.createStatement();
        ...

My questions are as follows: is the above usage valid, thread-safe? 
Are there any better ways of doing it?  And in case of DataSource, I
could not find a method for it that closes it so that I could call it
in contextDestroyed() method of the ServletContextListener, is it ok
to shutdown application without doing any sort of a "close()" on
DataSource?

Thanks!

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message