有一点JSP的使用经验,没接触过“连接池”这东西
前两天知道了这个东西,在网上找了个例子。问题1:
我理解“连接池”就是为了防止对数据库的操作太多,而限制了链接的数量。可我不能理解,如果当前连接超过了最大连接数,
是让此次请求等待到有空闲连接,还是直接说这次请求失败?如果等待空闲连接,难道要用到线程等待,来做等待空闲连接的操作么?
实现思路呢??
问题2:
JDBC是不是不带连接池,需要自己设计一个类来控制
而Hibernate和Ibatis之类的东西,有自己的连接池,只需要配置XML文件就能设置。
不知道这个想法对不对如果我想对了的话,HIBERNATE和IBATIS能不能不用自带的连接池而改用自己编写的呢?问题3:
具体系统讲解这方面知识的书有哪些呀?
谢谢各位回答,100分敬上!
前两天知道了这个东西,在网上找了个例子。问题1:
我理解“连接池”就是为了防止对数据库的操作太多,而限制了链接的数量。可我不能理解,如果当前连接超过了最大连接数,
是让此次请求等待到有空闲连接,还是直接说这次请求失败?如果等待空闲连接,难道要用到线程等待,来做等待空闲连接的操作么?
实现思路呢??
问题2:
JDBC是不是不带连接池,需要自己设计一个类来控制
而Hibernate和Ibatis之类的东西,有自己的连接池,只需要配置XML文件就能设置。
不知道这个想法对不对如果我想对了的话,HIBERNATE和IBATIS能不能不用自带的连接池而改用自己编写的呢?问题3:
具体系统讲解这方面知识的书有哪些呀?
谢谢各位回答,100分敬上!
1)可以限制最大连接数
2)可以提高效率, 因为不用每次都重新建立连接请求超出最大连接数时,就wait 等待 notify, 等待太长时间就超时,抛异常
當線程用完之後就會等待,但如果等待的線程過多,或過長,就要考慮調整線程數目。A2. JDBC只是單一連線,所以要用連接池來提高效能。連接池當然可以自己做。A3. 書籍的話,JDBC或Hibernate的書都會提到。
2.可以自己写连接池。<bean id="mySqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value=""/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>红色部分可以写自己的连接池类
3.书就不太清楚有哪些了。
wait notify具体如何实现呢?
最好给个JAVA关键词或者关键语句谢谢
Object.wait() Object.notify() synchronized