项目中使用如果原来使用了DBCP数据源,现在想直接使用Tomcat的JNDI的方式
驱动
将相关的驱动拷贝到%Tomcat_HOME%/lib目录下面
- 数据库驱动到:%TOMCAT%\lib下,这里是(ojdbc6.jar或者mysql的驱动)
- 拷贝Druid jar包到:%TOMCAT%\lib下,这里是(druid-1.0.23.jar)
配置context.xml
%TOMCAT%\conf\context.xml
<Resource name="dataSource1"
factory="com.alibaba.druid.pool.DruidDataSourceFactory"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@//localhost:1521/ORCL"
username="xxx"
password="xxx"
maxActive="50"
maxWait="10000"
removeabandoned="true"
removeabandonedtimeout="60"
logabandoned="false"
filters="stat" />
web.xml
web.xml加上配置的数据源,注意此处的res-ref-name必须和配置在context中的name名字一样
<resource-ref>
<description>JNDI DataSource</description>
<res-ref-name>dataSource1</res-ref-name>
<res-auth>Container</res-auth>
</resource-ref>
Spring使用
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/dataSource1" />
< /bean>
测试
使用断点,看看数据源,使用成功!
阿里巴巴官网如下:
https://github.com/alibaba/druid,包含了DBCP迁移和自带的监控等