`
ziyoulopp
  • 浏览: 769 次
社区版块
存档分类
最新评论

Spring下JDBC Tomca的连接属性(官方文档资料)

阅读更多

 

Attributes

 commons-dbcp 和tomcat-jdbc-pool的之间有些简单的转变,大部分的属性名一致并且有同样的意思。

 

通用属性

commons-dbcp和 tomcat-jdbc-pool相同的属性, 但是有些情况下默认值不一样。

Attribute

Description

defaultAutoCommit

boolean)连接池创建的连接的默认的auto-comit状态,未设置, 默认的是 JDBC driver default

defaultReadOnly

(boolean)连接池创建的连接的默认的read-only 状态。如果没有设置,setReadOnly方法不会被调用。(有些驱动不支持只读模式,例如:Informix

defaultTransactionIsolation

(String)连接池创建的连接的默认transactionisolation状态。下面列表当中的某一个: ( 参考javadoc) 

  • NONE
  • READ_COMMITTED
  • READ_UNCOMMITTED
  • REPEATABLE_READ
  • SERIALIZABLE

如果没有设置,该方法不会被调用,默认值driver default

defaultCatalog

(String) 连接池创建的连接的默认的catalog。默认值:driver default

driverClassName

(String)使用的JDBC 驱动的完整有效的java 类名。驱动必须从类加载器中可访问

username

(String)传递连接用户名给JDBC驱动程序建立连接。

注意,方法DataSource.getConnection(用户名、密码)默认情况下不会使用凭证传递到方法,但将使用的配置。SeealternateUsernameAllowed属性的更多细节。

password

(String) 传递连接密码给JDBC驱动程序建立连接。

注意,方法DataSource.getConnection(用户名、密码)默认情况下不会使用凭证传递到方法,但将使用的配置。SeealternateUsernameAllowed属性的更多细节。

maxActive

(int) 最大活动连接数:连接池在同一时间能够分配的最大活动连接的数量,如果设置成非正数则表示不限制。默认为100

maxIdle

(int)最大空闲连接数:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放。

 如果设置为负数表示不限制 

如果启用,将定期检查限制连接。

如果空闲时间超过minEvictableIdleTimeMillis则释放连接。(参考testWhileIdle)默认值:100

minIdle

(int)最小空闲连接数:连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接,如果设置为0 则不创建。如果连接验证失败将缩小这个值。

参考testWhileIdle )默认值来自initialSize:10

initialSize

(int)初始化连接:连接池启动时创建的初始化连接数量。默认值:101.2 版本后支持

maxWait

(int) 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间数(单位毫秒)。超过时间则抛出异常,如果设置为-1 表示无限等待。

testOnBorrow

(boolean) 指明是否在从池中取出连接前进行检验, 如果检验失败, 则从池中去除连接并尝试取出另一个。注意: 设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串 。参考validationInterval以获得更有效的验证。默认值是false

testWhileIdle

(boolean)指明连接是否被空闲连接回收器( 如果有) 进行检验。如果检测失败,则连接将被从池中去除。注意:设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串。

testOnConnect

(boolean) 当第一个连接被创建时,是否会被验证。如果一个对象没有通过验证,它将抛出SQLException。注:如果设置为True initsql validationQueryvalidatorclassname参数必须设置为非空字符串。默认值是错误的

testOnReturn

(boolean) 指明是否在归还到池中前进行检验注:设置为true 后如果要生效,validatorclassname validationQuery参数必须设置为非空字符串。默认值是false

validationQuery

(String)在将连接返回给调用者之前,SQL 查询,用来验证从连接池取出的连接。如果指定,则查询必须是一个SQL SELECT 并且必须返回至少一行记录。查询不必返回记录,但这样将不能抛出SQL异常。默认值是null。示例值:SELECT 1(mysql), select 1 from dual(oracle), SELECT 1(MS Sql Server)

validationQueryTimeout

(int) 连接验证查询失败的超时秒数。这是通过调用java.sql.Statement.setQueryTimeout thevalidationQuery执行的()。连接池本身不超时的查询,它仍然是JDBC驱动程序来执行查询超时。一个小于或等于零的值将禁用这个特性。默认值是1

validatorClassName

(String)一个类实现org.apache.tomcat.jdbc.pool.Validator这个接口,并提供一个不带参数的构造函数(可能是隐式的)的类名。如果具体,类将被用于创建一个验证器实例然后代替任何验证查询来验证连接。默认值是null。一个例子是com.mycompany.projectSimpleValidator

timeBetweenEvictionRunsMillis

(int)在空闲连接回收器线程运行期间休眠的时间值, 以毫秒为单位。这个值不应该低于1s。它规定我们检查空闲、放弃的连接的频率,和验证空闲连接的频率。如果设置为非正数, 则不运行空闲连接回收器线程。默认值是50005s)。

numTestsPerEvictionRun

(int) Property not used in tomcat-jdbc-pool.

minEvictableIdleTimeMillis

(int) 连接池中,连接的可空闲的时间,超过就被收回。单位毫秒。默认值是60000(60 s)

accessToUnderlyingConnectionAllowed

(boolean) Property not used.

removeAbandoned

(boolean)标记是否删除泄露的连接,如果他们超过了removeAbandonedTimout 的限制。如果设置为true,连接被认为是被泄露并且可以被删除, 如果空闲时间超过removeAbandonedTimeout。 设置为true 可以为写法糟糕的没有关闭连接的程序修复数据库连接。参考logAbandoned。默认值为false

removeAbandonedTimeout

(int) 泄露的连接可以被删除的超时值。单位秒,应设置为应用中查询执行执行时间最长的时间。

logAbandoned

(boolean) 标记当Statement 或连接被泄露时是否打印程序的stack traces 日志。为每一连接进行日志记录增加消耗,因为堆栈跟踪的生成。默认为false

connectionProperties

(String)当建立新的连接时连接属性将被发送到我们的JDBC驱动程序。格式的字符串必须[propertyName =属性;]。注意,“用户密码属性将显式传递,所以他们不需要包括在这里。默认值是null

poolPreparedStatements

(boolean) Property not used.

maxOpenPreparedStatements

(int) Property not used.

 

Tomcat JDBC新增属性

Attribute

Description

initSQL

(String) 当第一次创建连接时,要运行的自定义查询。默认值为空。

jdbcInterceptors

(String) jdbc拦截器——jdbc-pool的高级扩展属性)用分号分隔的、继承org.apache.tomcat.jdbc.pool.JdbcInterceptor的类名列表。这些拦截器将被插入到对 java.sql.Connection操作之前的拦截器链上。 
预制的拦截器有: 
org.apache.tomcat.jdbc.pool.interceptor.ConnectionState -
追踪自动提交、只读状态、catalog和事务隔离等级等状态。org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer - 追踪打开的statement,当连接被归还时关闭它们。

更多预制拦截器详细描述请参见JDBC拦截器部分JDBC Interceptors section.

validationInterval

(long)避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,但上次验证未达到指定间隔,将不再次验证。默认值30000(30 seconds).

jmxEnabled

(boolean) 是否将连接注册到JMX默认值是true.

fairQueue

(boolean)如果被设为true getConnection 方法将被以先进先出的方式对待。此属性使用 org.apache.tomcat.jdbc.pool.FairBlockingQueue 实现闲置连接列表。 
如果需要使用异步连接回收,这个标记是必须的。 
这个标记确保线程取得连接的顺序和他们调用getConnection 方法的顺序是相同的。 
在性能测试中,这个标记对锁和锁等待有非常大的影响。当fairQueue=true ,将有一个依赖于操作系统的线程作为决定线程。如果是Linux 系统(系统属性os.name=Linux )可以在线程池的类加载之前设置系统属性 org.apache.tomcat.jdbc.pool.FairBlockingQueue.ignoreOS=true 关闭Linux 特定行为但仍然使用公平队列。默认值为true

abandonWhenPercentageFull

(int)正在被使用的连接超过这个百分比以前被丢弃的连接不会被断开或报告。这个值应被设为0-100之间。默认值为0,意味着达到 removeAbandonedTimeout 时将被尽快关闭。

maxAge

(long)保持连接的最大毫秒数。当一个连接被归还时,连接池将检查是否满足:现在时间-连接时长>maxAge,如果条件满足,连接将被关闭而不是回到池中。默认值为0,标识禁用该功能。

useEquals

(boolean) 如果希望ProxyConnection类使用String.equals方法对比方法名,设为true;否则将使用==判断。这个属性不会影响单独配置的拦截器。

suspectTimeout

(int)以秒为单位的超时时间(怀疑超时)。默认值是0。类似 removeAbandonedTimeout,但不会将连接丢弃甚至关闭,如果logAbandonedtrue,则只是记录一个警告。如果这个值小于等于0,不会有怀疑超时检测被执行。怀疑检测只有当超时时间大于0并且连接未丢弃,或者丢弃检测被禁用的情况下才占用空间。如果一个连接被怀疑,将记录一条警告消息,并发送一个JMX通知。

rollbackOnReturn

(boolean) 如果autoCommit==false,当连接被归还时,通过调用连接的rollback方法中断事务。默认值false.

commitOnReturn

(boolean) 如果autoCommit==false,当连接被归还时,通过调用连接的commit方法完成事务。如果rollbackOnReturn==ture,这个属性将被忽略。默认值false.

alternateUsernameAllowed

(boolean) 为了提高性能,默认情况下,jdbc-pool将忽略 DataSource.getConnection(username,password)调用,直接返回一个以已有的全局配置的用户名和密码创建的连接。连接池仍然可以用不同的用户名和密码,但已经通过旧的用户名和密码创建的连接将被关闭,然后重新以新的用户名和密码连接。这样连接池将以全局级别管理连接数,而不是schema级别。设置这个属性为true来启用 DataSource.getConnection(username,password)方法描述的行为。这个属性为bug 50025 增加。 
默认值false.

dataSource

(javax.sql.DataSource) 向连接池注入一个数据源,连接池将使用这个数据源索取连接,而不是通过java.sql.Driver接口建立。当您希望池化XA连接或者使用数据源而不是url时,这个属性非常有用。默认值null

dataSourceJNDI

(String) 用来建立数据连接的JNDI名称。参考dataSource属性。默认值null

useDisposableConnectionFacade

(boolean)如果您希望在连接上建立一道屏障防止连接关闭之后被重新使用,设置这个属性为true。这个属性用来预防线程保持已关闭连接的引用,并在上面执行查询动作。默认值true.

logValidationErrors

(boolean) 如果设置为true,将在验证相位时向日志文件写入错误。如果值为true,错误将被记录为SEVER。默认值是false以向后兼容。

propagateInterruptState

(boolean)设置这个属性为true,可以传播一个被中断的线程(还没有清除中断状态)的中断状态。默认值为false以向后兼容。

ignoreExceptionOnPreLoad

(boolean) 是否初始化库时忽略连接创建错误标志。设置为true,在初始化连接池时忽略连接创建错误。设置为false,在初始化连接池失败时抛出异常。默认值false.

 

 

分享到:
评论

相关推荐

    jdbc连接mysql的文档

    文档提供了如何将MySQL Connector/J与Tomcat、JBoss、Spring、GlassFish等流行应用服务器和框架集成的详细说明。 通过这些知识点,开发者可以更全面地了解如何使用MySQL Connector/J来构建高效、安全的Java数据库...

    maven-springmvc-spring-springjdbc 框架搭建(完整的项目代码和搭建教学文档)

    1.项目环境要求: windows7、 ...springjdbc、 springMVC、 redis。 备注:项目为通用型,没有过多的封装一些工具类。 博客地址:https://blog.csdn.net/qq_29914837/article/details/82686202

    spring-boot-reference 2.0 官方文档(英文)

    《Spring Boot 2.0 官方文档》是Spring Boot框架的重要参考资料,为开发者提供了全面且深入的指导。这份文档详细介绍了如何使用Spring Boot构建高效、简洁的Java应用程序。Spring Boot是一个快速开发框架,旨在简化...

    Spring Boot 系列教程 JDBC

    Spring Boot默认使用HikariCP作为连接池,但也可以切换为其他如Tomcat JDBC或Druid。连接池能有效地管理数据库连接,提高系统性能。 6. **JPA与MyBatis集成**: 虽然本教程主要关注JDBC,但Spring Boot也支持JPA...

    SpringBoot官方文档(中文)

    SpringBoot官方文档(中文)是基于Spring Boot框架的详尽参考指南,旨在帮助开发者快速理解和掌握这个流行的Java应用开发工具。...总之,SpringBoot官方文档(中文)是每个Spring Boot开发者不可或缺的参考资料。

    tomcat数据连接池配置

    需要注意的是,不同的数据连接池库可能有不同的配置属性,具体配置应参照相关文档。此外,为了确保系统的安全性和稳定性,定期监控和调整数据连接池的参数至关重要。 总结,Tomcat数据连接池的配置涉及到选择合适的...

    Spring下配置几种常用连接池及配置详解

    本篇文章将详细探讨在Spring环境下配置几种常用的数据库连接池,并提供配置属性的详尽解析和实例应用。 1. **HikariCP** HikariCP是目前非常流行的一款高性能连接池,以其轻量级、高效而受到广泛赞誉。在Spring中...

    java开发之SSS整合教程.继SSH,SSM之后,spring全家桶SSS问世,数据库采用SpringJDBC

    例如,"SpringJDBC只对JDBC进行了简单的封装,适合快速开发,远比hibernate,mybatis简单,功能弱.txt" 这个文档可能详细解释了SpringJDBC如何通过减少手动管理连接、事务和结果集解析来提高开发效率。 在SSS整合中...

    Spring-boot 1.x -官方文档 中文参考指南

    对于常见的数据访问技术,如 JPA、Hibernate 和 JDBC,Spring Boot 提供了预配置的数据源和连接池,以及支持多种数据库。 8. **测试** 自动配置测试支持,包括单元测试和集成测试,提供了模拟(Mockito)和数据源...

    spring-framework-4.3.2.RELEASE官方完整包加官方文档

    《Spring Framework 4.3.2.RELEASE:官方完整包与官方文档详解》 Spring Framework是Java开发领域中不可或缺的一部分,它为构建企业级应用程序提供了全面的基础设施支持。4.3.2.RELEASE版本作为Spring Framework的...

    Tomcat6+spring+jndi配置数据源说明.docx

    本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理。数据源是一个池子,里面有若干个数据连接对象,当需要时就从里面拿一个使用,使用完毕就放回去,如果超过最大数,就需要等待其他人释放后再操作。 ...

    spring经典文档pdf

    本PDF文档“Spring经典文档”据称是学习Spring的绝佳资源,可以帮助读者深入理解Spring框架的核心概念和高级特性。 Spring框架的核心部分包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented...

    spring boot资料以及项目

    在资料中,你可能会找到关于Spring Boot的官方文档、教程、博客文章和视频课程。这些内容会详细介绍如何创建Spring Boot项目、如何配置Spring Boot、如何使用Spring Initializr初始化项目、以及如何使用Maven或...

    java Spring中文APi文档

    总之,Java Spring中文API文档是开发者学习和使用Spring框架的重要参考资料,它能够帮助开发者快速掌握Spring的核心概念和技术,提高开发效率,并确保项目能够充分利用Spring的优势。对于希望在Java世界中深耕的人来...

    spring framework2.1.6开发手册,API文档

    在提供的压缩包中,"api"文件夹下的"docs"包含Spring Framework 2.1.6的详细API文档,通过阅读这些文档,开发者可以深入理解每个类、接口、方法的功能和用法,从而在实际项目中高效地利用Spring框架。打开"index....

    spring3.1 官方全部jar包

    spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....

    spring4.2.5最新文档-英文

    本资料包包含Spring 4.2.5的官方英文文档,虽然对于非英语母语者可能有一定阅读挑战,但通过寻找关键词和参考代码示例,大多数开发人员能够理解并掌握其核心概念。 首先,Spring框架的核心是依赖注入(Dependency ...

    spring boot官方文档中文版

    在"Spring Boot官方文档中文版"中,我们可以深入学习到以下关键知识点: 1. **起步依赖(Starter Dependencies)**:Spring Boot通过一系列的起步依赖简化了添加库的流程。例如,只需要在`pom.xml`或`build.gradle`...

    spring技术文档

    Spring技术文档是学习和掌握Spring框架的重要资源,包含了丰富的信息和详细教程,帮助开发者深入理解Spring的功能和工作原理。 1. **Spring核心容器**:这是Spring框架的基础,包括Bean工厂和ApplicationContext。...

    JdbcConnection

    在Java Web开发中,`JdbcConnection`是Java数据库连接(JDBC)API的一个关键接口,用于与数据库建立实际的连接。本项目"JdbcConnection"利用了JDBC技术,结合了jsp、servlet和Tomcat服务器,以及MySQL数据库,实现了...

Global site tag (gtag.js) - Google Analytics