spring boot(10)-tomcat jdbc连接池
来源:互联网 发布:网络视讯赌博真假 编辑:程序博客网 时间:2024/06/07 06:26
默认连接池
tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多。spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了spring boot 的jdbc组件,就会自动引入tomcat jdbc连接池。关于引入jdbc和数据库的连接配置,参考第六篇
默认参数
以下是org.apache.tomcat.jdbc.pool.PoolProperties源码,这是tomcat jdbc连接池的默认初始参数。
这个类实现了一个接口PoolConfiguration,查看这个接口的源码,里面有每一个参数的详细说明。
官方文档: http://tomcat.apache.org/tomcat-8.5-doc/jdbc-pool.html
- public class PoolProperties implements PoolConfiguration, Cloneable, Serializable {
- private static final long serialVersionUID = -8519283440854213745L;
- private static final Log log = LogFactory.getLog(PoolProperties.class);
- public static final int DEFAULT_MAX_ACTIVE = 100;
- protected static final AtomicInteger poolCounter = new AtomicInteger(0);
- private volatile Properties dbProperties = new Properties();
- private volatile String url = null;
- private volatile String driverClassName = null;
- private volatile Boolean defaultAutoCommit = null;
- private volatile Boolean defaultReadOnly = null;
- private volatile int defaultTransactionIsolation = DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION;
- private volatile String defaultCatalog = null;
- private volatile String connectionProperties;
- private volatile int initialSize = 10;
- private volatile int maxActive = DEFAULT_MAX_ACTIVE;
- private volatile int maxIdle = maxActive;
- private volatile int minIdle = initialSize;
- private volatile int maxWait = 30000;
- private volatile String validationQuery;
- private volatile int validationQueryTimeout = -1;
- private volatile String validatorClassName;
- private volatile Validator validator;
- private volatile boolean testOnBorrow = false;
- private volatile boolean testOnReturn = false;
- private volatile boolean testWhileIdle = false;
- private volatile int timeBetweenEvictionRunsMillis = 5000;
- private volatile int numTestsPerEvictionRun;
- private volatile int minEvictableIdleTimeMillis = 60000;
- private volatile boolean accessToUnderlyingConnectionAllowed = true;
- private volatile boolean removeAbandoned = false;
- private volatile int removeAbandonedTimeout = 60;
- private volatile boolean logAbandoned = false;
- private volatile String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]";
- private volatile String password;
- private volatile String username;
- private volatile long validationInterval = 3000;
- private volatile boolean jmxEnabled = true;
- private volatile String initSQL;
- private volatile boolean testOnConnect =false;
- private volatile String jdbcInterceptors=null;
- private volatile boolean fairQueue = true;
- private volatile boolean useEquals = true;
- private volatile int abandonWhenPercentageFull = 0;
- private volatile long maxAge = 0;
- private volatile boolean useLock = false;
- private volatile InterceptorDefinition[] interceptors = null;
- private volatile int suspectTimeout = 0;
- private volatile Object dataSource = null;
- private volatile String dataSourceJNDI = null;
- private volatile boolean alternateUsernameAllowed = false;
- private volatile boolean commitOnReturn = false;
- private volatile boolean rollbackOnReturn = false;
- private volatile boolean useDisposableConnectionFacade = true;
- private volatile boolean logValidationErrors = false;
- private volatile boolean propagateInterruptState = false;
- private volatile boolean ignoreExceptionOnPreLoad = false;
- private volatile boolean useStatementFacade = true;
自定义参数
如果要修改某个默认参数值,可以在application.properties中配置,如下
spring.datasource.tomcat是前缀,maxActive是参数名,105是参数值,其他 参数格式也是一样
- spring.datasource.tomcat.maxActive=105
在JAVA中自定义参数
在properties中自定义参数有一个问题,如果参数名写错了,是不会有任何错误提示的,会继续使用默认值 。在JAVA中配置可以避免这个问题,以下是设置maxActive参数,set其他参数也是一样
- @Bean
- public DataSource dataSource() {
- PoolProperties poolProperties = new PoolProperties();
- poolProperties.setMaxActive(105);
- return new DataSource(poolProperties);
- }
HikariCP
HikariCP是目前号称最好的连接池,没有之一。不过tomcat连接池有tomcat做为其后盾保障, 文档资料齐全,也更加持久稳妥。这里不讲解 HikariCP,有兴趣可访问https://github.com/brettwooldridge/HikariCP
阅读全文
0 0
- spring boot(10)-tomcat jdbc连接池
- spring boot(10)-tomcat jdbc连接池
- Spring Boot JDBC 连接数据库
- Spring Boot JDBC 连接数据库
- Spring Boot JDBC 连接数据库
- Spring Boot JDBC 连接数据库
- Spring Boot采用JDBC方式连接数据库
- tomcat jdbc 连接池
- JDBC以及Tomcat连接池
- JDBC以及Tomcat连接池
- tomcat+jdbc+sqlserver2008连接池
- Tomcat的JDBC连接池
- Tomcat 的 JDBC 连接池
- Tomcat 7连接池--Tomcat jdbc pool
- spring boot 连接池配置
- SPRING JDBC连接池设置
- tomcat创建oracle 10g的JDBC连接池
- 建立基于 JDBC 的 Tomcat 连接池
- 将数据库查询出来的二维数组变成一维数组
- webpack-dev-server 支持 react-router BrowserHistory
- 计算机网络 | 基本概念
- ASP.Net 的按钮事件中显示ASPxPopupControl,控件显示不出来
- FFmpeg 学习之 centos 下编译配置
- spring boot(10)-tomcat jdbc连接池
- parquet压缩格式参数设置以及简单操作
- 1.编译openjdk1.8源码
- Android夜间模式的切换
- 线程池的理解及使用
- redis入门——散列类型(hash)
- spring boot(11)-druid监控
- WifiMonotor.java
- centos 找回密码