Här är hur jag har det.. kanske kan hjälpa dig fast det är för oracle...
<Resource name="jdbc/MyOracleDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/MyOracleDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- Oracle dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>myUser</value>
</parameter>
<parameter>
<name>password</name>
<value>myPassword</value>
</parameter>
<!-- Class name for oracle JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@195.0.0.1:1521:DATABASE</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select count(*) from myTable</value>
</parameter>
<parameter>
<name>testOnBorrow</name>
<value>true</value>
</parameter>
<parameter>
<name>testWhileIdle</name>
<value>true</value>
</parameter>
<parameter>
<name>timeBetweenEvictionRunsMillis</name>
<value>600000</value>
</parameter>
<parameter>
<name>minEvictableIdleTimeMillis</name>
<value>600000</value>
</parameter>
</ResourceParams>
sedan i web.xml
<resource-ref>
<description>Oracle database connection for my connection</description>
<res-ref-name>jdbc/MyOracleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Sedan hämtar jag det genom följande:
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
dataSource = (DataSource) envContext.lookup("jdbc/MyOracleDB);
conn = dataSource.getConnection();
Kanske hjälper dig lite iaf... Lycka till