Problem with postgresql tomcat datasource - Mailing list pgsql-jdbc
From | Andrea.Ferrando@marconimobile.com |
---|---|
Subject | Problem with postgresql tomcat datasource |
Date | |
Msg-id | OF5FA01E67.D519C6B6-ONC1256C78.002F0D41@LocalDomain Whole thread Raw |
List | pgsql-jdbc |
I am using Tomcat 4 on a linux-box with postgresql. I'm trying to set up a data source. I followed the instructions on http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html But the ds.getConnection method waits for an undefined time to give me a connection. Any suggestion will be appreciated. Thanks Andrea This is a few lines from my server.xml: <Resource name="jdbc/mydb" scope="Shareable" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/mydb"> <parameter> <name>validationQuery</name> <value></value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>password</name> <value>password</value> </parameter> <parameter> <name>url</name> <value>jdbc:postgresql://myserver:5432/mydb</value> </parameter> <parameter> <name>driverClassName</name> <value>org.postgresql.Driver</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> <parameter> <name>username</name> <value>username</value> </parameter> </ResourceParams> and some more from web.xml of my web-app <resource-ref> <description>postgreSQL Datasource</description> <res-ref-name>jdbc/mydb</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> I access to the db with this servlet: public class ProvaConnessioneAlDb extends HttpServlet { static final private String CONTENT_TYPE = "text/html"; //Initialize global variables public void init() throws ServletException { } //Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>ProvaConnessioneAlDb</title></head>"); out.println("<body>"); out.println("<p>The servlet has received a POST. This is the reply.</p>"); out.println("</body></html>"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); String foo=new String(); try { Context initContext = new InitialContext(); log("initcontext"); if(initContext == null ) throw new Exception("Boom - No Context"); Context envContext = (Context)initContext.lookup("java:/comp/env"); log("envcontext"); if(envContext == null ) throw new Exception("Boom - No Context"); DataSource ds = (DataSource)envContext.lookup("/jdbc/mydb"); log("datasource"); if (ds != null) { log("if"); log("Ciao "+ ds.toString()); Connection conn = ds.getConnection(); log("connection"); if(conn != null) { foo = "Got Connection "+conn.toString(); } conn.close(); } } catch (SQLException e) { e.printStackTrace(out); out.println("<p>"+e.toString()+"</p>"); }catch (NamingException e) { out.println("<p>"+e.toString()+"</p>"); } catch (Exception e){ e.printStackTrace(out); out.println("<p>"+e.toString()+"</p>"); } out.println("<html>"); out.println("<head><title>ProvaConnessioneAlDb</title></head>"); out.println("<body>"); out.println("<p>The servlet has received a GET. This is the reply.</p>"); out.println("<p>"+foo+"</p>"); out.println("</body></html>"); } //Clean up resources public void destroy() { } } and this is the localhost_myapp.txt log 2002-11-21 10:01:46 StandardContext[/myapp]: Mapped to servlet 'provaconnessionealdb' with servlet path '/provaconnessionealdb' and path info 'null' and update=true 2002-11-21 10:01:46 provaconnessionealdb: initcontext 2002-11-21 10:01:46 provaconnessionealdb: envcontext 2002-11-21 10:01:46 provaconnessionealdb: datasource 2002-11-21 10:01:46 provaconnessionealdb: if 2002-11-21 10:01:46 provaconnessionealdb: Ciao org.apache.commons.dbcp.BasicDataSource@dd75a4
pgsql-jdbc by date: