title: How to use maxWait, removeAbandonedTimeout and suspectTimeout attribute related to jdbc connection pooling
body: <p>I am using SQL server 2012, tomcat-7 to deploy my application and java 1.7.</p>
  
  <p>My current configuration for connection pooling is, like</p>
  
  <pre><code>&lt;Resource
      name="jdbc/devC"
      auth="Container"
      type="javax.sql.DataSource"
      maxActive="100"
      maxIdle="5"
      maxWait="-1"
      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
      url="jdbc:sqlserver://localhost:1433;DatabaseName=DB_NAME"
      username="sa"
      password="db#123"
      removeAbandoned="true"
      removeAbandonedTimeout="300"
      logAbandoned="false"/&gt;
  </code></pre>
  
  <p>In my application there are 7 different databases, so above configuration is also present for 7 different databases (These 7 databases are present on single server machine ).</p>
  
  <p>With this configuration I am executing 80 threads, each thread utilize/uses one connection at a time. 
  Now I need to improve my application execution, so I decided to increase threads from 80 to 150 or 200
  But for that I need think about effect on connection pooling, So I need more understanding about it.</p>
  
  <p>How can I use this attribute to improve my connection pooling, so that i can achieve faster execution by using more threads and connection pooling</p>
  
  <ol>
  <li>How does removeAbandonedTimeout works ? Because I perform some demo on DB connection to check it behavior, but I didn't got anything.</li>
  <li>How does suspectTimeout works ? </li>
  <li>I have disabled maxWait by setting to -1,  is it the right way to use? I have disable it, Because my application sometime may reach the maxActive count.</li>
  </ol>
  
  <p>Thank you in advance</p>