C3P0连接池配置

合集下载

各种数据源配置参数列表

各种数据源配置参数列表

DBCP Username Password DriverClassName Url Properties InitialSize MinIdle MaxIdle MaxActive MinEvictableIdleTimeMillis MaxWaitThreadCount TestOnBorrow TestOnReturn TestWhileIdle ValidationQuery ValidationQueryTimeout ConnectionInitSqls RemoveAbandonedTimeout LogAbandoned TimeBetweenEvictionRunsMillis MaxOpenPreparedStatements maxWait
test-before-use test-after-use house-keeping-test-sql
InitSQL
ShrinkFrequencySeconds StatementCacheType StatementCacheSize fatal-sql-exception
TestTableName SecondsToTrustAnIdlePoolConnection ConnectionCreationRetryFrequencySeconds LoginDelaySeconds Profile Connection Usage Profile Connection Reservation Wait Profile Connection Leak Profile Connection Reservation Failed Profile Statement Cache Entry Profile Statement Usage Profile Connection Last Usage Profile Connection Multithreaded Usage Profile Harvest Frequency Seconds DriverInterceptor CredentialMappingEnabled ConnectionReserveTimeoutSeconds StatementTimeout IgnoreInUseConnectionsEnabled PinnedToThread RemoveInfectedConnections

proxool连接池配置详细说明

proxool连接池配置详细说明

proxool连接池配置详细说明收藏目前市面上三个主流连接池从性能上排名如下:proxool>c3p0>dbcp,proxool还提供了可视化的连接池实时监控工具,所以既稳定又方便,配置也是非常容易的事情。

下面我来讲讲我如何配置proxool连接池的。

1、下载相关资源。

从/站点上下载我们需要的资源,proxool-0.9.1是最新版本,解压后从lib下copy里面的2个JAR包proxool-0.9.1.jar和proxool-cglib.jar至项目中去。

如果不加proxool-cglib.jar的话会报 ng.ClassNotFound Exception:org.logicalcobwebs.cglib.proxy.Callback异常。

2、首先在WEB-INF目录下新建一个proxool.xml文件。

view plaincopy to clipboardprint?1.<?xml version="1.0" encoding="UTF-8"?>2.<proxool-config>3.<proxool>4.<alias>datasource1</alias>5.<driver-url>jdbc:mysql://localhost:3306/datasource1</driver-url>6.<driver-class>com.mysql.jdbc.Driver</driver-class>7.<driver-properties>8.<property name="user"value="root"/>9.<property name="password"value="root"/>10.</driver-properties>11.<house-keeping-sleep-time>90000</house-keeping-sleep-time>12.<maximum-new-connections>20</maximum-new-connections>13.<prototype-count>5</prototype-count>14.<maximum-connection-count>1000</maximum-connection-count>15.<minimum-connection-count>10</minimum-connection-count>16.</proxool>17.18.<proxool>19.<alias>datasource2</alias>20.<driver-url>jdbc:sybase:Tds:localhost:16428/datasource2</driver-url>21.<driver-class>com.sybase.jdbc3.jdbc.SybDriver</driver-class>22.<driver-properties>23.<property name="user"value="dba"/>24.<property name="password"value="dba"/>25.</driver-properties>26.<house-keeping-sleep-time>90000</house-keeping-sleep-time>27.<maximum-new-connections>20</maximum-new-connections>28.<prototype-count>5</prototype-count>29.<maximum-connection-count>1000</maximum-connection-count>30.<minimum-connection-count>10</minimum-connection-count>31.</proxool>32.</proxool-config>我在里面配置了2个不同数据库的数据源,你可以根据需要配置多个,其中具体的参数属性我会在下面全部予以说明。

mysql默认8小时连接断开机制解决

mysql默认8小时连接断开机制解决

mysql默认8⼩时连接断开机制解决转载连接:/database/1639209.html本⽂提供了对c3p0与DBCP连接池连接MySql数据库时, 8⼩时内⽆请求⾃动断开连接的解决⽅案。

⾸先介绍⼀下我在项⽬(c3p0连接池)中遇到的问题,后⾯还提供了使⽤DBCP连接池的解决⽅案。

原因分析:MySQL服务器默认的“wait_timeout”是28800秒即8⼩时,意味着如果⼀个连接的空闲时间超过8个⼩时,MySQL将⾃动断开该连接,⽽连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应⽤申请使⽤该连接时,就会导致上⾯的报错。

解决⽅案(解决这个问题的办法有三种,推荐第⼆种):1. 增加 MySQL 的 wait_timeout 属性的值修改mysql安装⽬录下的配置⽂件 my.ini⽂件(如果没有此⽂件,复制“my-default.ini”⽂件,⽣成“复件 my-default.ini”⽂件。

将“复件 my-default.ini”⽂件重命名成“my.ini” ),在⽂件中设置:wait_timeout=31536000interactive_timeout=31536000这两个参数的默认值是8⼩时(60*60*8=28800)。

注意: 1.wait_timeout的最⼤值只允许2147483 (24天左右)2.修改配置⽂件为⽹上⼤部分⽂章所提供的⽅式,也可以使⽤mysql命令对这两个属性进⾏修改2. 减少连接池内连接的⽣存周期减少连接池内连接的⽣存周期,使之⼩于上⼀项中所设置的wait_timeout 的值。

修改 c3p0 的配置⽂件,在 Spring 的配置⽂件中设置:<bean id="dataSource" class="boPooledDataSource"><property name="maxIdleTime"value="1800"/><!--other properties --></bean>3. 定期使⽤连接池内的连接定期使⽤连接池内的连接,使得它们不会因为闲置超时⽽被 MySQL 断开。

Hikari连接池使用SpringBoot配置JMX监控实现

Hikari连接池使用SpringBoot配置JMX监控实现

Hikari连接池使⽤SpringBoot配置JMX监控实现Hikari是Spring Boot默认的数据库连接池。

区别于C3P0直接通过连接池对象获取各项状态指标,Hikari需要通过JMX来获取。

Demo如下,采⽤Spring Boot集成,定时采集连接状态。

public static void main(String[] args) throws SQLException, MalformedObjectNameException, InterruptedException {SpringApplication.run(HikariTest.class, args);HikariDataSource hikaridatasource = new HikariDataSource();hikaridatasource.setJdbcUrl("jdbc:mysql://localhost:3306?serverTimezone=GMT");hikaridatasource.setUsername("root");hikaridatasource.setPassword("");hikaridatasource.setDriverClassName("com.mysql.cj.jdbc.Driver");hikaridatasource.setRegisterMbeans(true);hikaridatasource.setPoolName("HikariConnectionPool");MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + hikaridatasource.getPoolName() + ")");poolProxy = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class);Connection conn = hikaridatasource.getConnection();Statement sm = conn.createStatement();ResultSet rs = null;for (int i = 0; i < 999999999; i++) {rs = sm.executeQuery("select name from test.t1");}rs.close();sm.close();conn.close();hikaridatasource.close();}@Scheduled(fixedRate = 1000)public void HikariMonitor() {if(poolProxy == null) {("Hikari not initialized,please wait...");}else {("HikariPoolState = "+ "Active=[" + String.valueOf(poolProxy.getActiveConnections() + "] "+ "Idle=[" + String.valueOf(poolProxy.getIdleConnections() + "] "+ "Wait=["+poolProxy.getThreadsAwaitingConnection()+"] "+ "Total=["+poolProxy.getTotalConnections()+"]")));}}另外,在github有提到这样的issue:ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + hikaridatasource.getPoolName() + ")");可能会抛错22:06:23.231 [main] DEBUG com.zaxxer.hikari.HikariConfig - Driver class com.mysql.cj.jdbc.Driver found inThread context class loader uncher$AppClassLoader@73d16e93Exception in thread "main" ng.reflect.UndeclaredThrowableExceptionat com.sun.proxy.$Proxy2.getIdleConnections(Unknown Source)at com.zte.hikariTest.HikariTest.main(HikariTest.java:32)Caused by: javax.management.InstanceNotFoundException: com.zaxxer.hikari:type=Pool (foo)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(Unknown Source)at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(Unknown Source)at com.sun.jmx.mbeanserver.MXBeanProxy$GetHandler.invoke(Unknown Source)at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(Unknown Source)at javax.management.MBeanServerInvocationHandler.invoke(Unknown Source)... 2 more这是因为Hikari设置参数同样⽀持setHikariConfig和配置⽂件两种配置⽅式,请选择其中⼀种进⾏配置,⽽不是⼆者⼀起使⽤。

DRUID连接池的实用配置详解

DRUID连接池的实用配置详解

DRUID连接池的实⽤配置详解DRUID介绍DRUID是阿⾥巴巴开源平台上⼀个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加⼊了⽇志监控,可以很好的监控DB池连接和SQL的执⾏情况,可以说是针对监控⽽⽣的DB连接池(据说是⽬前最好的连接池,不知道速度有没有BoneCP快)。

配置参数和其它连接池⼀样DRUID的DataSource类为:com.alibaba.druid.pool.DruidDataSource,基本配置参数如下:配置缺省值说明name配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。

如果没有配置,将会⽣成⼀个名字,格式是:"DataSource-" + System.identityHashCode(this)jdbcUrl 连接数据库的url,不同数据库不⼀样。

例如:mysql : jdbc:mysql://10.20.153.104:3306/druid2 oracle : jdbc:oracle:thin:@10.20.149.85:1521:ocnautousername连接数据库的⽤户名password连接数据库的密码。

如果你不希望密码直接写在配置⽂件中,可以使⽤ConfigFilter。

详细看这⾥:https:///alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilterdriverClassName根据url⾃动识别这⼀项可配可不配,如果不配置druid会根据url⾃动识别dbType,然后选择相应的driverClassName(建议配置下)initialSize0初始化时建⽴物理连接的个数。

初始化发⽣在显⽰调⽤init⽅法,或者第⼀次getConnection时maxActive8最⼤连接池数量maxIdle8已经不再使⽤,配置了也没效果minIdle最⼩连接池数量maxWait获取连接时最⼤等待时间,单位毫秒。

Java EE企业级应用开发(SSM) (4)

Java EE企业级应用开发(SSM) (4)
将Spring容器中的NamedParameterJdbcTemplate注入进 来
此处格式要 用:字段名
该方法的第一个参数传递sql语句字
符串,第二个参数传递一个map集
合,map集合封装这存储的数据
32
步骤详解
4. 创建Spring核心配置文件applicationContext.xml,进行配置
配置数据库连接池 DriverManagerDataSource连接池是 Spring框架给我们提供的,我们可以直接使 用
配置JdbcTemplate
配置注解扫描
27
27
NamedParameterJbcTemplate介绍
NamedParameterJdbcTemplate: JdbcTemplate是java最先出现的最底层的封装,NamedParameterJdbcTemplate
1. 导入案例所需坐标 2. 创建User实体类 3. 创建UserDao类,定义JdbcTemplate属性,提供增删改查方法 4. 创建Spring核心配置文件applicationContext.xml,进行配置 5. 常见测试类JdbcTemplateTest,进行测试
17
步骤详解
1. 导入案例所需坐标
需要导入 C3P0数据 库连接池
坐标
12
步骤详解
2. 创建User类
13
步骤详解
3. 创建测试类,进行测试
添加操作
a. 创建数据库连接池对象
b. 给数据库连接池配置属性参数
c. 创建JdbcTemplate对 象
d. 调用方法,对数据库进行操作
14
步骤详解
3. 创建测试类,进行测试
修改操作

MySQL数据库连接池与负载均衡实践

MySQL数据库连接池与负载均衡实践MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种规模的应用程序中。

在高负载的环境下,MySQL数据库的性能往往成为限制系统吞吐量的瓶颈。

为了提高数据库的性能和可扩展性,使用数据库连接池和负载均衡是常见的解决方案。

一、数据库连接池的概念与作用:数据库连接池是一种维护数据库连接的技术,它预先创建一定数量的数据库连接并保存在连接池中,应用程序在需要使用数据库连接时,直接从连接池中获取,而不是每次都新建一个连接。

连接池可以提高数据库连接的获取和释放效率,减少了频繁连接和断开带来的性能开销。

二、MySQL数据库连接池的实现方式:MySQL数据库连接池可以通过多种方式实现,比较常用的两种方式是基于JDBC和基于连接池组件。

1.基于JDBC的连接池实现:基于JDBC的数据库连接池实现相对简单,可以利用Java的标准接口javax.sql.DataSource来实现。

在Java程序中,我们可以通过配置连接池的参数,如最大连接数、最小连接数、连接超时时间等,来创建DataSource对象并管理数据库连接。

2.基于连接池组件的实现:除了使用JDBC本身的接口外,还可以使用一些第三方的数据库连接池组件,比如C3P0、HikariCP等。

这些组件在连接池的实现上进行了更多的优化,提供了更高的性能和更丰富的配置选项。

通常,我们只需引入相应的jar包并进行简单的配置,就可以使用这些连接池组件来实现数据库连接池。

三、负载均衡的概念与作用:在高并发的场景下,单个MySQL数据库可能无法满足大量请求的需求,这时候需要使用负载均衡来将请求均匀地分发给多个数据库服务器,从而提高系统的可扩展性和性能。

四、MySQL负载均衡的实现方式:实现MySQL负载均衡有多种方式,主要包括基于软件和基于硬件的负载均衡方式。

1.基于软件的负载均衡实现:常见的基于软件的负载均衡实现方式有代理模式和反向代理模式。

数据库连接池测试卷

数据库连接池测试卷(答案见尾页)一、选择题1. 数据库连接池的主要作用是什么?A. 提高数据库访问速度B. 管理数据库连接C. 优化数据库资源D. 增加数据库安全性2. 在数据库连接池中,如何设置最大连接数?A. setMaxActive(int max)B. setMaxIdle(int max)C. setMinIdle(int min)D. setMaxWait(long time)3. 数据库连接池中的空闲连接会一直保持打开状态吗?A. 是B. 否C. 可能D. 不确定4. 如何在Java中配置数据库连接池?A. 使用DriverManager.getConnection()B. 使用ConnectionPoolDataSourceC. 使用HikariCP连接池D. 使用C3P0连接池5. 数据库连接池的生命周期包括哪些阶段?A. 配置阶段B. 初始化阶段C. 运行阶段D. 关闭阶段6. 在数据库连接池中,当连接被释放回连接池时,它会处于什么状态?A. 活跃状态B. 空闲状态C. 死亡状态D. 无效状态7. 下面哪个参数用于控制连接池中最大空闲连接的数量?A. maxActiveB. maxIdleC. minIdleD. maxWait8. 在使用数据库连接池时,如何设置连接超时时间?A. setConnectionTimeout(long timeout)B. setSocketTimeout(long timeout)C. setQueryTimeout(long timeout)D. setTransactionTimeout(long timeout)9. 数据库连接池中,当连接被占用并发执行查询时,其他请求可能会等待多久?A. 无限制B. 固定时间(由配置参数决定)C. 根据连接数动态调整D. 根据服务器性能动态调整10. 如何验证数据库连接池是否正常工作?A. 检查日志文件B. 测试连接获取和释放C. 监控连接池的状态和资源使用情况D. 以上所有方法11. 数据库连接池的主要功能是什么?A. 加速数据库连接B. 管理数据库连接C. 优化数据库性能D. 分配数据库资源12. 在数据库连接池中,以下哪个参数用于设置最大连接数?A. maxActiveB. maxIdleC. maxWaitD. minIdle13. 数据库连接池通常如何判断一个连接是否有效?A. 检查连接是否仍在使用中B. 检查连接的最后活动时间C. 检查连接的状态码D. 检查连接的有效性通过查询数据库14. 在数据库连接池中,当连接池中的连接都被使用时,会采取什么策略?A. 增加新的连接B. 释放空闲连接C. 启动新的连接池D. 关闭无效连接15. 下列哪种情况适合使用数据库连接池?A. 需要频繁地创建和关闭小型数据库连接B. 需要大量持久化的数据库连接C. 需要随机访问不同数据库服务器的连接D. 需要频繁地执行复杂的SQL查询16. 数据库连接池中的连接在使用后会被如何处理?A. 直接释放回连接池B. 转移到等待队列C. 标记为无效并等待回收D. 保留在连接池中供再次使用17. 在配置数据库连接池时,以下哪个参数用于控制连接在空闲状态下的超时时间?A. idleTimeoutB. maxLifetimeC. maxIdleD. minIdle18. 数据库连接池中的“最大空闲连接数”参数应该如何设置?A. 设置为一个固定的值,如10B. 根据数据库服务器的性能调整C. 设置为一个非常大的数值,以确保所有连接都被使用D. 根据应用的需求和数据库服务器的性能合理设置19. 如果数据库连接池中的连接被耗尽,应该采取什么措施?A. 增加更多的数据库服务器B. 增加最大连接数C. 减少并发请求的数量D. 启动新的连接池20. 在数据库连接池中,当连接池中的连接数量达到最大值时,以下哪种操作是正确的?A. 创建新的数据库连接B. 释放不再需要的连接C. 优先使用空闲连接D. 向连接池中添加新连接21. 数据库连接池的最佳实践是什么?A. 尽可能使用尽可能多的连接B. 根据需要动态调整连接池大小C. 每次查询都创建新的数据库连接D. 连接只在事务完成后关闭22. 在数据库连接池中,如何处理连接超时?A. 自动断开并重新建立连接B. 继续等待,直到连接可用C. 抛出异常D. 记录日志并继续执行23. 下列哪个选项不是数据库连接池中可能遇到的常见问题?A. 连接泄漏B. 连接耗尽C. 查询性能下降D. 网络延迟24. 在配置数据库连接池时,以下哪项不是必要的参数?A. 连接超时时间B. 最大连接数C. 连接验证D. 数据库服务器名称25. 数据库连接池中的连接应该多久检查一次?A. 每分钟B. 每小时C. 每天D. 每周26. 在使用数据库连接池时,如何确保连接的有效性?A. 使用连接池提供的验证机制B. 定期检查连接是否活跃C. 手动关闭并重新打开连接D. 依赖应用程序逻辑来管理连接27. 数据库连接池通常如何回收不再使用的连接?A. 将连接返回给连接池B. 关闭连接并释放资源C. 归还给数据库服务器D. 删除连接记录28. 数据库连接池对性能的影响主要体现在哪些方面?A. 连接建立时间B. 连接保持时间C. 连接销毁时间D. 数据库服务器负载29. 在数据库连接池中,哪种类型的连接是最常用的?A. 标准连接B. 非标准连接C. 单例连接D. 连接池连接30. 数据库连接池是如何工作的?A. 当应用程序需要访问数据库时,连接池会分配一个空闲连接B. 当应用程序释放连接时,连接池会回收该连接C. 连接池中的连接数量是固定的D. 连接池会根据需要动态调整连接数量31. 数据库连接池中的连接被耗尽时,应该采取什么措施?A. 增加数据库服务器的性能B. 减少应用程序的并发数C. 手动管理连接D. 使用连接池提供的重试机制32. 在数据库连接池中,连接的有效期是多久?A. 无限期B. 固定时长C. 根据应用程序需求设定D. 根据数据库性能设定33. 下列哪个参数不是数据库连接池配置中的常见参数?A. 初始化连接数B. 最大连接数C. 连接超时时间D. 查询超时时间34. 在使用数据库连接池时,如何处理连接泄漏问题?A. 每次使用后立即关闭连接B. 使用连接池提供的自动管理功能C. 手动关闭不再使用的连接D. 设置连接的最大生命周期35. 数据库连接池通常支持哪些类型的数据源?A. 内存数据库B. 文件数据库C. 数据库服务器D. NoSQL数据库36. 在配置数据库连接池时,应该考虑哪些因素?A. 数据库服务器的性能B. 应用程序的并发需求C. 网络带宽D. 数据库连接的开销37. 在数据库连接池中,哪种类型的连接最不常见?A. 内存连接B. 缓存连接C. 空闲连接D. 长期连接38. 数据库连接池的最佳配置参数是什么?A. 连接超时时间B. 最大连接数C. 连接最小空闲时间D. 批处理大小39. 下列哪个选项不是数据库连接池中可能存在的风险?A. 连接泄漏B. 连接未正确关闭C. 连接池资源耗尽D. 数据库服务器崩溃40. 数据库连接池中的连接被释放回池中的条件是什么?A. 连接执行完毕B. 连接超时C. 连接被显式关闭D. 连接空闲超过设定阈值41. 如果数据库连接池中的连接已经达到最大值,当有新请求到来时,应该采取什么策略?A. 继续等待,直到有可用连接B. 抛出异常C. 创建新的连接D. 使用共享连接42. 数据库连接池通常如何维护连接的状态?A. 通过心跳机制检测连接状态B. 每次访问数据库时检查连接C. 定期刷新连接的数据库地址D. 使用连接池管理工具监控43. 在高并发场景下,如何优化数据库连接池的性能?A. 增加最大连接数B. 减少连接超时时间C. 合理设置连接的最小空闲时间D. 避免频繁地创建和销毁连接二、问答题1. 什么是数据库连接池?请简要描述其作用。

单例模式读取数据库配置文件和JNDI连接数据源

单例模式读取数据库配置⽂件和JNDI连接数据源单例模式读取数据库配置⽂件单例模式是指⼀个类只有⼀个实例,只能由他本⾝调⽤,如果别⼈想要调⽤,需要此类提供⼀个公共的访问⽅法获得实例。

1.创建.properties ⽂件⽤来存放连接数据库的信息diver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/kgcnews?characterEncoding=UTF-8user=rootpassword=1234562.创建⼀个类ConfigManager⽤来读取配置⽂件+++import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;//懒汉模式读取配置⽂件public class ConfigManager {//1.创建私有化过的的ConfigManager对象private static ConfigManager cm ;//创建配置⽂件对象Properties properties;//2.私有化⽆参构造private ConfigManager(){// String file = "D:\\workspace\\login\\src\\properties\\database.properties";// inputStream = new FileInputStream(file);// "database.properties"为.properties的⽂件名String file = "database.properties";//把⽂件转换为字节流 ConfigManager.class.getClassLoader()找到本⾝所在的类的类加载器InputStream inputStream = ConfigManager.class.getClassLoader().getResourceAsStream(file);properties = new Properties();try {//写⼊properties对象properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}}//3.提供⼀个全局访问点获得该对象的实例public static ConfigManager getCm(){//如果没有创建对象(类的实例)if(cm == null){//同步创建对象的过程synchronized(ConfigManager.class){cm = new ConfigManager();}}//将该类的实例返回return cm;}//获得配置⽂件值的⽅法通过getProperty(key)⽅法public String getProRes(String para){return properties.getProperty(para);}public static void main(String[] args) {System.out.println(ConfigManager.getCm().getProRes("driver"));}}饿汉模式: 1.直接创建私有实例 pirvate ConfigManager cm = new ConfigManager(); 2.私有化⽆参构造 private ConfigManager (){};3.提供⼀个公共⽅法获得实例 privtae static ConfigManager getConf(){ return cm;}懒汉模式和饿汉模式的区别:第⼀次加载,饿汉模式效率⾼。

logback日志输出至数据库

logback⽇志输出⾄数据库我们知道将数据库输出到不同的地⽅需要使⽤不同的appender表⽰,那下⾯了解⼀下输出到数据库的DBAppender。

1.DBAppender1.根据官⽅⽂档创建数据库DBAppender会把记录事件写⼊数据库的三张表(logging_event、logging_event_property、logging_event_exception),并且这三张表的结构是固定的。

创建这三张表的脚本如下:BEGIN;DROP TABLE IF EXISTS logging_event_property;DROP TABLE IF EXISTS logging_event_exception;DROP TABLE IF EXISTS logging_event;COMMIT;BEGIN;CREATE TABLE logging_event(timestmp BIGINT NOT NULL,formatted_message TEXT NOT NULL,logger_name VARCHAR(254) NOT NULL,level_string VARCHAR(254) NOT NULL,thread_name VARCHAR(254),reference_flag SMALLINT,arg0 VARCHAR(254),arg1 VARCHAR(254),arg2 VARCHAR(254),arg3 VARCHAR(254),caller_filename VARCHAR(254) NOT NULL,caller_class VARCHAR(254) NOT NULL,caller_method VARCHAR(254) NOT NULL,caller_line CHAR(4) NOT NULL,event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY);COMMIT;BEGIN;CREATE TABLE logging_event_property(event_id BIGINT NOT NULL,mapped_key VARCHAR(254) NOT NULL,mapped_value TEXT,PRIMARY KEY(event_id, mapped_key),FOREIGN KEY (event_id) REFERENCES logging_event(event_id));COMMIT;BEGIN;CREATE TABLE logging_event_exception(event_id BIGINT NOT NULL,i SMALLINT NOT NULL,trace_line VARCHAR(254) NOT NULL,PRIMARY KEY(event_id, i),FOREIGN KEY (event_id) REFERENCES logging_event(event_id));COMMIT;2.ConnectionSourceConnectionSource有3种类型实现:DataSourceConnectionSource、DriverManagerConnectionSource 和 JNDIConnectionSource。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C3P0连接池配置  C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。    3    30    1000    false    Test    false    100       null    false    60    3    60    15    100       3    root    password       select id from test where id=1    300    false    true    root    false   con_test  30000  30  10  30  25  10  0      200   300   

在Hibernate(spring管理)中的配置: oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@localhost:1521:Test Kay root ########################### ### C3P0 Connection Pool### ########################### #hibernate.c3p0.max_size 2 #hibernate.c3p0.min_size 2 #hibernate.c3p0.timeout 5000

相关文档
最新文档