这几天给系统做性能调优,在优化Hibernate数据C3P0数据访问时,网上搜了许多相同的转载文章,配置也都差不多,关键是最后发现这些文章里面的配置都是有问题的,不规范的,浪费了哥大把时间,最后还是在官网上找到Hibernate配置C3P0的详细帮助说明。
现在越来越多的文章被转载,文章新鲜度大大降低,特别是找一些技术文章时,最后发现大家转的文章都是错误的...个人觉得这些垃圾的文章,错误的文章应该丢弃,需要有一个专门的评判标准去让大家给文章打分,分值太低,当然就不是好文章,或者是垃圾文章...
搜索引擎也应该需要改进,对于相同或者相识的文章,就是基本上全是转载的文章,要尽量全部一股脑显示出来,而是有所选择,选择那些评分较高的文章,然后显示的搜索结果可能就是用户需要的好文章。
另外,日后找比较深入的技术文章,最好还是去官方网站自己看,尽管英文的看起来比较慢,也比你搜出一大堆垃圾中文文章要好...还记得前几日修索尼笔记本,wireless lan无法连接的问题,网上找了一些文章找解决办法,还下了驱动人生专门更新驱动,最后都没有解决,然后去索尼官方网站上下官方驱动时,意外发现这个问题的解决办法,其实根本不是驱动的问题,而是wireless lan的电池供电太小,需要改配置,这才修好了笔记本。
C3P0关于Hibernate配置区别的官方文档:
c3p0-native property name | hibernate configuration key |
---|---|
c3p0.acquireIncrement | hibernate.c3p0.acquire_increment |
c3p0.idleConnectionTestPeriod | hibernate.c3p0.idle_test_period |
c3p0.initialPoolSize | not available -- uses minimum size |
c3p0.maxIdleTime | hibernate.c3p0.timeout |
c3p0.maxPoolSize | hibernate.c3p0.max_size |
c3p0.maxStatements | hibernate.c3p0.max_statements |
c3p0.minPoolSize | hibernate.c3p0.min_size |
c3p0.testConnectionsOnCheckout | hibernate.c3p0.validate hibernate 2.x only! |
Remember -- these, and only these, properties must be defined in your hibernate configuration, or else they will be set to hibernate-specified defaults. All other configuration properties that you wish to set should be defined in a c3p0.properties file. (See "Overriding c3p0 defaults via c3p0.properties".)
我的配置:
<!-- 连接池中保留的最大连接数。Default: 15 -->
<property name="hibernate.c3p0.max_size">300</property>
<!-- 连接池中保留的最小连接数。Default: 15 -->
<property name="hibernate.c3p0.min_size">20</property>
<!-- -最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="hibernate.c3p0.timeout">60</property>
<!-- 最大的PreparedStatement的数量 -->
<property name="hibernate.c3p0.max_statements">0</property>
<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒,如果没有空闲连接,则获取新的连接!-->
<property name="hibernate.c3p0.idle_test_period">120</property>
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数.Default: 3 -->
<property name="hibernate.c3p0.acquire_increment">5</property>