阿里druid数据源配置
学习:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
一.maven配置pom.xml
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.26</version> </dependency>
二.配置数据源
1.生产环境配置tomcat配置文件
<Resource name="jdmarket" factory="com.alibaba.druid.pool.DruidDataSourceFactory" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" username="jdmarket" password="bfdds06fd" maxActive="100" maxWait="5000" url="jdbc:oracle:thin:@192.168.44.132:1521:jd318" filters="stat-filter,wall-filter"/>
2.开发环境配置在spring配置文件里
<beans> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.44.132:1521:jd318" /> <property name="username" value="jdmarket" /> <property name="password" value="bfdds06fd" /> 配置监控统计拦截的filters <property name="filters" value="stat" /> 配置初始化大小、最小、最大 <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> </bean> </beans>
三.web.xml配置添加监控页面,druid本身已经有了监控页面,所以只需要加一个servlet,就可以访问,访问路径:http://localhost:80/工程名/druid/index.html
例如:http://m.hcjdc.com/hcjdcwap/druid/index.html
<!-- druid内置监控页面 --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>druid</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>druid</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
四.当然还可以添加其他配置
例子:hcjdcwap
1.tomcat数据源配置
<?xml version='1.0' encoding='utf-8'?> <Context docBase="D:\javeworkspace\hcjdcwap_branch\src\main\webapp" privileged="true"> <Resource name="jdmarket" factory="com.alibaba.druid.pool.DruidDataSourceFactory" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" username="jdmarket" password="bfdds06fd" maxActive="100" maxWait="5000" url="jdbc:oracle:thin:@192.168.44.132:1521:jd318" filters="stat-filter,wall-filter"/> </Context>
请注意filters="stat-filter,wall-filter"
2.web.xml配置
<!-- druid 配置Web的关联监控--> <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> <init-param> <param-name>exclusions</param-name> <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- druid内置监控页面 --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>druid</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>druid</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
3.applicationContext-datasource.xml配置
<import resource="classpath:spring/datasource/marketdb.xml" /> <!--生产环境数据源配置 --> <beans profile="production"> <!-- druid配置 --> <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"> <!-- 慢SQL记录 超过3秒 --> <property name="slowSqlMillis" value="3000" /> <property name="logSlowSql" value="true" /> <!-- 合并sql --> <property name="mergeSql" value="true" /> </bean> <!-- 防sql注入 --> <bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter"> <property name="dbType" value="oracle" /> </bean> <!-- druid配置 end --> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdmarket" /> </bean> </beans>
注意:
1.tomcat数据源添加的filter就是applicationContext-datasource.xml里添加的过滤器
2.web.xml配置还加了一个web关联监控
3.报错:not support oracle driver 1.0
原因有两个:1.确实是ojdbc版本太低
2.ojdbc包冲突,冲突包括pom.xml和tomcat里的包,大多数情况下都是这个原因报错
浙公网安备 33010602011771号