看了一篇文章,讲jdbc-pool比c3p0、dbcp效率高,但没有找到它在spring中的配置方式,所以自己尝试了一下,成功了。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!--数据源配置-->
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="poolProperties">
<bean class="org.apache.tomcat.jdbc.pool.PoolProperties">
<property name="url" value="jdbc:sqlserver://172.168.16.11:1433;databaseName=xgerp"/>
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="username" value="xgerp_r"/>
<property name="password" value="xgerp"/>
<property name="jmxEnabled" value="true"/>
<property name="testWhileIdle" value="false"/>
<property name="testOnBorrow" value="true"/>
<property name="validationInterval" value="30000"/>
<property name="testOnReturn" value="false"/>
<property name="validationQuery" value="select 1"/>
<property name="timeBetweenEvictionRunsMillis" value="30000"/>
<property name="maxActive" value="100"/>
<property name="initialSize" value="10"/>
<property name="maxWait" value="10000"/>
<property name="removeAbandonedTimeout" value="60"/>
<property name="minEvictableIdleTimeMillis" value="30000"/>
<property name="minIdle" value="10"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandoned" value="true"/>
<property name="jdbcInterceptors" value="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"/>
</bean>
</property>
</bean>
测试代码如下:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* 简单测试jdbc-pool在spring中的配置
* @author Administrator
*/
public class JdbcPoolTest {
@Test
public void testPool() {
ApplicationContext context = new FileSystemXmlApplicationContext("file:G:/vss/xuguang/web/WEB-INF/applicationContext.xml");
DataSource ds = (DataSource)context.getBean("dataSource");
Connection con = null;
try {
con = ds.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select top 10 personName from comm_person");
while (rs.next()) {
System.out.println("personName: " + rs.getString("personName"));
}
rs.close();
st.close();
} catch (SQLException ex) {
Logger.getLogger(JdbcPoolTest.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (con != null) try {con.close();} catch (Exception ignore){}
}
}
}
分享到:
相关推荐
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): DataSource:数据源 DriverManager:驱动管理 Driver:JDBC驱动 ... JDBC数据库连接池/Connection Pool DBCP:apache tomcat内置
Java Spring常用高性能连接池以及属性 * C3P0比较耗费资源,效率方面可能要低一点。 * DBCP在实践中存在BUG,在某些种情会产生很多空连接不能释放,Hibernate3.0已经放弃了对其的支持。 * Proxool的负面评价较少,...
添加连接池指标(jmx,codahale,dropwizard)和灵活的策略,以根据需要调整池大小 用于分布式跟踪的库(如果在classpath中找到)可启用jdbc连接和查询跟踪(仅适用于p6spy或datasource-proxy) 为什么不将...
为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再...
阿里巴巴数据库连接池应该是目前最好的数据库连接池:大并发稳定,操作数据库效率高。此demo不仅有和spring整合的例子,还有单独配置的实例,供大家学习掌握
JSP Spring中Druid连接池配置 jdbc.properties url=jdbc:postgresql://***.***.***.***:****/**** username=*** password=*** applicationContext.xml中配置bean <!-- 阿里 druid 数据库连接池 --> ...
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1...注:以下包为数据源连接池 相关 用到那个添加相应的包 c3p0-0.9.1.2.jar //3 commons-pool.jar //3 commons-dbcp.jar //3
安全的JDBC连接池 安全JDBC连接池从JDBC连接池属性文件(例如tomcat和相关服务器的context.xml)中删除存储的纯文本密码。 Spring Framework HashiCorp Vault Spring Cloud Vault支持与HashiCorp Vault集成: ://...
最新版的druid和旧版在filter配置方面有些不同,以下是旧版druid中配置filter: spring: ##数据库连接信息 datasource: url: jdbc:mysql://localhost:3306/young username: root password: root driver-class...
--配置连接池--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///...
用于mysql连接,以及建立dbcp连接池所用,里面包含四个文件commons-dbcp-1.2.2.jar,commons-pool-1.3.jar,mysql-connector-java-5.1.18-bin.jar,org.springframework.jdbc-3.1.2.RELEASE.jar
连接池最大数量 ${jdbc.maxActive}"> 连接池最大空闲 ${jdbc.maxIdle}"> 连接池最小空闲 ${jdbc.minIdle}"> 获取连接最大等待时间 ${jdbc.maxWait}"> --> 数据库连接回调密码解密 ...
dbcp 连接池不合理的锁导致连接耗尽解决方案 应用报错,表象来看是连接池爆满了。 org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested ...
# 连接池名(据说是最快的连接池) pool-name: DataHikariCP # 最小空闲连接数 minimum-idle: 5 # 空闲连接存活最大时间,默认600000(10分钟) idle-timeout: 18000 # 最大连接数,默认10 maximum-pool-...
一、配置文件配置数据源a和b:(这里使用的是springboot2.0+ 默认数据库连接池hikari) spring: datasource: a: driver-class-name: oracle.jdbc.OracleDriver jdbc-url: username: password: pool-name: b: ...
DBCP数据库连接池 cglib-nodep-2.1_3.jar CGLIB是一个强大的高质量高性能的代码生成库,在运行时可以用它来扩展Java类 jfreechart-1.0.12.jar 使用java生成图表的工具 log4j-1.2.15.jar 通过使用Log4j,我们...
用于数据库连接池的Tomcat JDBC Pool Fast Json(由阿里巴巴制造)用于Json解析器 Gson(由Google制造)用于Json-Object转换 jQuery和Ajax用于前端和数据传输 用于包管理的Maven Docker-maven-plugin用于远程...
3. 自动创建数据库,关闭请在配置文件找到 JDBC 链接删除 **&createDatabaseIfNotExist=true**。 4. 自动运行SQL脚本,关闭请注释掉 **spring.datasource.schema**。 5. 默认登录 **admin/admin** 6. 打印后台 SQL ...
ibatis 开发指南 ibatis Quick Start............................................................................................ 5 准备工作..............................................................
2、那说说数据库连接池的原理 3、Java的内存管理机制是什么 4、Javascript中怎么实现继承?有几种方式? 5、spring底层用什么实现? 6、hibernate和Jdbc的区别 7、Hibernate与Ibatis的区别 8、Struts2和1的...