好久没更新技术博客了,以后这个博客从新启用,用于实践后的技术记录。
接下来介绍一个druid数据源如何配置。
首先,在pom.xml中引入druid的依赖,应该加上version,我是在parent中统一定义的version,建议使用中央仓库中的稳定版本。
<!-- druid connection pools --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency>
然后,是在spring上下文中进行常规数据源的配置,配置文件格式如下:
<!-- druid 数据源配置 --> <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"> <property name="slowSqlMillis" value="10000" /> <property name="logSlowSql" value="true" /> </bean> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.jdbcUrl}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="filters" value="log4j,config,wall" /> <property name="proxyFilters"> <list> <ref bean="stat-filter" /> </list> </property> <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" /> <property name="maxActive" value="20" /> <property name="initialSize" value="1" /> <property name="maxWait" value="60000" /> <property name="useUnfairLock" value="true"/> <property name="minIdle" value="1" /> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="poolPreparedStatements" value="true" /> <property name="maxOpenPreparedStatements" value="20" /> </bean>
<context:property-placeholder location="classpath:jdbc.properties" /> 加载property配置文件
接下来配置property文件,druid数据源支持密码保护,使用下面的命令生成密码保护
java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password
jdbc.driver=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc:mysql://10.10.5.204:3306/v3?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOMUL6IbPTQkUcWoZSVROIEcgTAArcLP2rtNFaahm38PYqWVE92apcMqt0YxzTVSilGgUwIul9f5ZhvzpWGap4sCAwEAAQ== jdbc.password=kBJz+ij4HbnU4caQ6iJIBJtEDBHKXZoUsSSbhOSHzY0tRrMNOWcPZV/EIrlvAn+4lHQv7FfvhL6Z0CiUNY0ZmQ== jdbc.maxActive=8
最后为配置监控页面,在web.xml中配置监控页面
<!-- druid 监控页面 --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 允许清空统计数据 --> <param-name>resetEnable</param-name> <param-value>false</param-value> </init-param> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>genilex</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>123456</param-value> </init-param> <!-- 白名单 <init-param> <param-name>allow</param-name> <param-value>172.16.40.244</param-value> </init-param> --> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
以上druid数据源就配置完毕了。
下面可以进行一些测试来验证配置的是否成功。
还有一些常见问题,请参考官方的wiki
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/193697.html