读书人

tomcat 连接池配备整理 (JNDI C3P0)

发布时间: 2013-02-24 17:58:56 作者: rapoo

tomcat 连接池配置整理 (JNDI C3P0)

? ?简单的归纳整理一下各种几种连接池的配置方式 以便查询

?

? 系统配置:spring2 , tomcat6 ,hibernate3,mysql

? spring的版本比较低 各位看官不要笑话哦。

1.普通的JDBC连接方式

<bean id="dataSource"name="code"><Resource name="jdbc/TEST_Data" auth="Container" type="javax.sql.DataSource" maxActive="100"  maxIdle="30"  maxWait="10000" username="root"  password="000000" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8" />

?2.2.修改web.xml

? ??

         <!-- datasource --><resource-ref><description>TEST</description><res-ref-name>jdbc/TEST_Data</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>

?2.3 修改spring配置文件

? ??

        <bean id="dataSource"  name="code"><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><property name="driverClass"><value>com.mysql.jdbc.Driver</value></property><property name="jdbcUrl"><value>jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8</value></property><property name="user"><value>root</value></property><property name="password"><value>000000</value></property><!--连接池中保留的最小连接数。 --><property name="minPoolSize"><value>5</value></property><!--连接池中保留的最大连接数。Default: 15 --><property name="maxPoolSize"><value>30</value></property><!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --><property name="initialPoolSize"><value>10</value></property><!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --><property name="maxIdleTime"><value>60</value></property><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><property name="acquireIncrement"><value>5</value></property><!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 --><property name="maxStatements"><value>0</value></property><!--每60秒检查所有连接池中的空闲连接。Default: 0 --><property name="idleConnectionTestPeriod"><value>60</value></property><!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --><property name="acquireRetryAttempts"><value>30</value></property><!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭。Default: false --><property name="breakAfterAcquireFailure"><value>true</value></property><!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 等方法来提升连接测试的性能。Default: false --><property name="testConnectionOnCheckout"><value>false</value></property></bean>

?

? 以上三种方式都经过本次测试 可以正常使用 请各位看官自行调优。? 其他方式持续更新中

读书人网 >编程

热点推荐