一直有个想法,好好研究下hibernate的连接池.最近研究了下.很多问题不明白.请各位前辈回答的的这些疑问,主要针对C3P0<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>1.上面的配置文件每条语句配置的数都是什么意思?一般情况下配置多少合适?
2.这个数据库连接池只是在B/S下才用么?为什么我总是看到连接池和tomcat的很多文章?没有tomcat就不能用连接池了么?
3.连接池为什么就能使效率提高很多?我拿一个Connection用完就close.和我不用连接池是不是效果是一样的?
4.在程序里如何获取当前连接数.最大连接数等参数呢?我们一般在程序里用监视连接池的动态么?还是把上面的配置文件一写好就不管了呢?
5.连接池何时被创建?何时销毁?连接池中的链接何时创建?何时销毁?一开始连接池中创建多少个Connection?当一个请求拿到一个Connection用完Close以后这个Connection状态是怎样的?在内存中的状态是怎样的?
6.大家对hibernate或者数据库连接池有什么深的体会的都来谈谈,希望能在这把数据库连接池彻底搞懂!结贴时我会总结大家的答案或者体会.写一个关于数据库连接池总结性的知识汇总.希望对大家能有所帮助.
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>1.上面的配置文件每条语句配置的数都是什么意思?一般情况下配置多少合适?
2.这个数据库连接池只是在B/S下才用么?为什么我总是看到连接池和tomcat的很多文章?没有tomcat就不能用连接池了么?
3.连接池为什么就能使效率提高很多?我拿一个Connection用完就close.和我不用连接池是不是效果是一样的?
4.在程序里如何获取当前连接数.最大连接数等参数呢?我们一般在程序里用监视连接池的动态么?还是把上面的配置文件一写好就不管了呢?
5.连接池何时被创建?何时销毁?连接池中的链接何时创建?何时销毁?一开始连接池中创建多少个Connection?当一个请求拿到一个Connection用完Close以后这个Connection状态是怎样的?在内存中的状态是怎样的?
6.大家对hibernate或者数据库连接池有什么深的体会的都来谈谈,希望能在这把数据库连接池彻底搞懂!结贴时我会总结大家的答案或者体会.写一个关于数据库连接池总结性的知识汇总.希望对大家能有所帮助.
解决方案 »
- System.exit(0)将会把Tomcat服务器关闭
- 关于本地Session bean
- 面试问题
- 如何用JAVA代码查看文件夹中的变化
- myeclipse如何生成ear文件,就是想把一个.jar文件和一个.war文件打到一块部署
- 关于OutOfMemoryError。无JVM虚拟机
- Solaris下执行java程序的脚本问题
- 为何我在“命令提示符”窗口下能正确连接SQL Server 2005数据库,但在Eclipse3.0窗口中却不能?
- ejb client错误,谁帮我解决!
- 求救!!!spring mvc 整合dwr,annotation用不用都过不了这个问题!
- tomcat加载spring配置文件原理
- flex调用Java类
prop2池最大链接数
prop3池最小链接数
prop4超时时间
prop5可以被缓存的PreparedStatement最大数目
prop6检查空闲链接的间隔
prop7当连接池里面的连接用完的时候,C3P0一下获取的新的连接数
2. B/S C/S都可用, Web容器里配置池比普通application麻烦些.
3. 创建数据库链接开销比较大. 用pool来缓存链接,用时直接拿来用, 用完还回去. 几乎没有开销.后面的不回答了, google去吧
英文的不好看,可以找中文的看,很容易找到
<property name="hibernate.c3p0.validate">true</property>
这个应该是对当前连接可不可用进行判断的吧
一个数据库连接,创建的时候是要在内存中写信息的,这些信息包括用户名,密码,URL等等等等,一close,直接就把内存中的信息释放了,下次连接还要创建,是不是有点多余?因为连接信息肯定是固定不变的。
连接池在内存开辟一个空间保存这些信息,下次使用直接引用,是不是节省了时间?
通俗易懂,履行你的承诺,给一部分分吧。
-
http://blog.csdn.net/joyssh/archive/2008/07/13/2646276.aspx
楼主 参考看看。其实Java的每一个细小的模块和功能都值得好好是深入的研究的。
Java实在是太强大了。
可以本人并不能解决你的问题,Hibernate最近1年多都没用了,
期待其它高手解答你所有问题