连接池在建立连接后用关闭连接吗?
我现在想用连接池技术连接数据库我发现,建立连接的代码为
Context ctx=new InitialContext();
DataSource ods=(DataSource)ctx.lookup("java:comp/env/jdbc/bookstore");
conn = ods.getConnection();
书上没有关闭连接的代码,不用关闭连接吗?
那是不是每一次建立连接都用相同的代码呢?
连接自己会断开么?
还是csdn好啊,javaeye想问个问题没有积分都问不成
[解决办法]
连接池应该是不要关闭的,即使关闭连接,数据库连接并没关闭,只是连接回到连接池成为了空闲的连接。
[解决办法]
连接池中的连接不需要关闭, 如果手动关闭就失去了连接池的意义,连接池的作用就是存储可用的连接对象,从而下次用客户端连接上来, 系统就不需要花时间建立新的连接,而是直接从连接池中取出可用连接, 因为省去了创建新连接的时间,这样就极大的提高的系统的效率。
[解决办法]
程序中要关闭,关闭连接后此次的数据库连接才会在连接池中变成可用连接,不然会一直处于连接状态直到超时。
[解决办法]
多看看连接池的属性配置和作用 比如连接池里的属性“maxCount"限制一个上限,超过此树不能连接, 连接池他是多个连接的组合,配置多个连接是为了提高连接的速度,你只需要对连接进行控制。
连接池一般不会断开除非服务器或是数据库挂了
[解决办法]
虽然可以调用close()方法关闭!
但是实际上是把连接池中的连接"关闭"指的是把连接又放到了连接池中,供下一次使用!
而不是真正意义上的关闭!
[解决办法]
连接池的作用就是存储可用的连接对象,从而下次用客户端连接上来, 系统就不需要花时间建立新的连接,而是直接从连接池中取出可用连接, 因为省去了创建新连接的时间,这样就极大的提高的系统的效率。可以参考连接池创建的参数:
<Resource name="jdbc/jspdev" type="javax.sql.DataSource" password="bn" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" username="bn" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev" maxActive="4"/
[解决办法]
使用完就关闭,不要一直占着,以便别人使用
[解决办法]