JNDI数据源配置

自古美人都是妖i 提交于 2019-12-05 19:40:29

http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html#JDBC_Data_Sources

Tomcat的标准数据源资源工厂(org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory)的配置属性如下:

  • driverClassName-要使用的JDBC驱动程序的标准Java类名称。
  • 用户名 -要传递给我们的JDBC驱动程序的数据库用户名。
  • password-要传递给我们的JDBC驱动程序的数据库密码。
  • url-要传递给我们的JDBC驱动程序的连接URL。(为了向后兼容,driverName 还可以识别该属性。)
  • initialSize-在池初始化期间将在池中创建的初始连接数。默认值:0
  • maxActive-可以同时从此池分配的最大连接数。默认值:8
  • minIdle-同时在此池中处于空闲状态的最小连接数。默认值:0
  • maxIdle-可以同时在此池中处于空闲状态的最大连接数。默认值:8
  • maxWait-抛出异常之前,池将等待(如果没有可用连接时)返回连接的最大毫秒数。默认值:-1(无限)

一些其他属性可处理连接验证:

  • validationQuery-池可用于在将连接返回给应用程序之前验证连接的SQL查询。如果指定,则此查询必须是返回至少一行的SQL SELECT语句。
  • validationQueryTimeout-验证查询返回的超时(以秒为单位)。默认值:-1(无限)
  • testOnBorrow-是或否:每次从池中借用连接时,是否应该使用验证查询来验证连接。默认值:true
  • testOnReturn-是或否:每次将连接返回到池时是否应使用验证查询来验证连接。默认值:false

可选的退出线程负责通过删除任何长时间处于空闲状态的连接来缩小池。驱逐者不尊重minIdle。请注意,如果仅希望根据配置的maxIdle属性缩小池,则无需激活退出线程。

逐出器默认情况下处于禁用状态,可以使用以下属性进行配置:

  • timeBetweenEvictionRunsMillis-逐次运行两次之间的毫秒数。默认值:-1(禁用)
  • numTestsPerEvictionRun-在每次运行驱逐程序时,驱逐程序将检查连接是否空闲的连接数。默认值:3
  • minEvictableIdleTimeMillis-空闲时间(以毫秒为单位),在此时间之后,退出者可以从池中删除连接。默认值:30 * 60 * 1000(30分钟)
  • testWhileIdle-正确或错误:是否应该在空闲状态下使退出线程使用验证查询来验证连接。默认值:false

另一个可选功能是删除废弃的连接。如果应用程序长时间不将其返回到池中,则该连接称为放弃连接。池可以自动关闭此类连接并将其从池中删除。这是应用程序泄漏连接的一种解决方法。

默认情况下,放弃功能是禁用的,可以使用以下属性进行配置:

  • removeAbandoned -true或false:是否从池中删除废弃的连接。默认值:false
  • removeAbandonedTimeout-假定借用的连接被放弃之前经过的秒数。默认值:300
  • logAbandoned-正确或错误:是否为放弃语句或连接的应用程序代码记录堆栈跟踪。这增加了严重的开销。默认值:false

最后,还有各种属性可以对池行为进行进一步的微调:

  • defaultAutoCommit-正确或错误:此池创建的连接的默认自动提交状态。默认值:true
  • defaultReadOnly-正确或错误:此池创建的连接的默认只读状态。默认值:false
  • defaultTransactionIsolation-设置默认事务隔离级别。可以是一个 NONEREAD_COMMITTED, READ_UNCOMMITTEDREPEATABLE_READ, SERIALIZABLE。默认值:未设置默认值
  • poolPreparedStatements -true或false:是否合并 PreparedStatements和CallableStatements。默认值:false
  • maxOpenPreparedStatements-可以同时从语句池分配的最大打开语句数。默认值:-1(无限制)
  • defaultCatalog-默认目录的名称。默认值:未设置
  • connectionInitSqls-创建连接后,SQL语句列表将运行一次。用分号(;)分隔多个语句。默认值:无声明
  • connectionProperties-传递给驱动程序以创建连接的特定于驱动程序的属性。每个属性均以形式给出name=value,多个属性之间用分号(;)分隔。默认值:无属性
  • accessToUnderlyingConnectionAllowed-正确或错误:是否允许访问基础连接。默认值:false

有关更多详细信息,请参考commons-dbcp文档。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!