tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kwok Peng Tuck <pengt...@makmal.com>
Subject Re: problem tomcat-postgresql datasource
Date Thu, 21 Nov 2002 09:26:22 GMT
Remove the sql validation parameter, or actually give it a sql statement 
to use.

And in this 
<Resource name="jdbc/mydb" scope="Shareable" type="javax.sql.DataSource"/>

add auth="Container"
so that it looks like

<Resource name="jdbc/mydb" scope="Shareable" auth="Container" type="javax.sql.DataSource"/>

Took me a while to figure out the validation bit.

Andrea.Ferrando@marconimobile.com wrote:

>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
>
>
>
>
>
>
>--
>To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>
>
>
>  
>



--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message