Techie:Techie Main/Java/Tomcat/Connection Pool

From FFL Wiki
Jump to navigation Jump to search

Define pool in <tomcat_install>/conf/context.xml

<Resource name="jdbc/FantacyDS"
       auth="Container"
       type="javax.sql.DataSource"
       maxActive="10"
       maxIdle="3"
       maxWait="10000"
       username="xxxx"
       password="yyyy"
       driverClassName="com.mysql.jdbc.Driver"
       validationQuery="SELECT 1"
       url="jdbc:mysql://localhost/fantacy?autoReconnect=true"/>
  • ValidationQuery is required. Without it stale connections cause application errors.
  • Not 100% sure if the autoReconnect=true is required, but seems to be suggested on a lot of web pages

Create a datasource in the application's web.xml

       <resource-ref>
               <description>FFL DataSource</description>
               <res-ref-name>jdbc/FantacyDS</res-ref-name>
               <res-type>javax.sql.DataSource</res-type>
               <res-auth>Container</res-auth>
       </resource-ref>
  • Resouce name and res-ref-name must match
  • Connection pool datasource now available using JNDI at 'java:comp/env/jdbc/FantacyDS'