Try something like this. You don't need the dataSource where you have it and you don't need to synchronize that method. I haven't try this but it gives you a good start. If I've missed something I'm sure someone will chime in. I would highly recommend reading the Blueprints and getting a good servlet book - Jason Hunter has a new version just released and I also I like Core Servlets and Java Server Pages. public class WhatEverName extends HttpServlet { public void init(ServletConfig config) throws ServletException{ super.init(config); ServletContext SC = getServletContext( ); } public void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Connection con = null; response.setContentType("text/html"); PrintWriter out = response.getWriter( ); HttpSession session = request.getSession(true); RequestDispatcher dispatcher; //finish code } public void databaseRoutine(Connection con, HttpSession session ) throws SQLException { String sql = ""; Statement stmt = null; ResultSet rs; //finish code } public Connection getConnection( ) { Connection con = null; try{ Context context = new InitialContext ( ); javax.sql.DataSource ds = ( javax.sql.DBDataSource ) context.lookup ( "DBDataSource" ); con = ds.getConnection ( ); }catch ( NamingException n){ n.printStackTrace(); }catch ( SQLException s){ s.printStackTrace(); }catch ( Exception ex ){ ex.printStackTrace(); } return con; } public void closeConnection(Connection con ){ try{ con.close(); }catch(SQLException s){ s.printStackTrace(); } } } ----- Original Message ----- From: Marc Krisjanous <[EMAIL PROTECTED]> Date: Sunday, April 22, 2001 7:05 pm Subject: Bet Practises for Servlets accessing a db - ELP! > Hello all, > > I would like to get feedback on my design for a servlet that is > required to > search a db2 database for employees (Yes! the Sample Db!). > > The Servlet is configured as follows: > > servlet class{ > > //instance var > javax.sql.DataSource ds = null; > > init(){ > > //get datasource connection from WebSphere 3.5 (JDBC 2). > ds = ........ > > }//end init > > doPost(...){ > > //get a connection from the connection pool > Connection conn = ds.getConnection(user, password); > > //do something then close connection > > }//end doPost. > > 1. The servlet first establishes a datasource handle to WebSphere's > connection pool for this database. This is required only once and > seemedlike a good idea to place in the init method. > > 2. For each request (thread) doPost is called and a connection > object to the > database is obtained. The question I have is should the > getConnection method > call be in a synchronized block such as: > > synchronized(objLock){ > > Connection conn = ds.getConnection(user, password); > > }//end sync block > > I think it should not since the connection object (conn) is > declared within > the method (thus locale and thread safe) and the getConnection > method is > returning a common connection object. > > Thoughts and comments please! > > Best Regards > > > Marc > > ________________________________________________________________________ ___ > To unsubscribe, send email to [EMAIL PROTECTED] and include in > the body > of the message "signoff SERVLET-INTEREST". > > Archives: http: > Resources: http://java.sun.com/products/servlet/external- > resources.htmlLISTSERV Help: > http://www.lsoft.com/manuals/user/user.html ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html