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:[EMAIL PROTECTED] Sent: Monday, March 07, 2005 4:34 AM To: [email protected] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
