求助!关于使用sql datasource的问题!100分

smagt 2004-10-19 11:05:02
datasource如下:
<local-tx-datasource>
<jndi-name>FtDB</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://10.80.1.220:1433;DatabaseName=northwind</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>123</password>
<check-valid-connection-sql>select @@version</check-valid-connection-sql>
<min-pool-size>2</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>1</idle-timeout-minutes>
<BlockingTimeoutMillis>5000</BlockingTimeoutMillis>
</local-tx-datasource>
连接池的配置,naming都没有问题,可以正常的通过datasource取得connection。
我将最大连接数设为20,连续20次访问数据库之后,第21次由于数据库没有空闲的连接而报错,
错误原因是在指定的block时间之内<BlockingTimeoutMillis>5000</BlockingTimeoutMillis>
没有可以使用的ManagedConnection了,这是为什么?我每次使用完都关闭了连接了啊,顺便问一句在sqlserver中如何查看当前的连接数?是进城信息里的哪些进程与锁吗?
还请高手指点迷津!谢过!
代码:
Connection conn = null
try {
DataSource ds = ... 正常找到DataSource
conn = ds.getConnection();
...数据库操作
}catch() {
...异常操作
}finally{
conn.close();
}

...全文
152 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guojiafuzhuxi 2004-10-20
  • 打赏
  • 举报
回复
DataSource只NEW一次就可以了,从那里看。照楼上说的。楼主还不如写个公共的连接数据据库类!
禽兽v5 2004-10-20
  • 打赏
  • 举报
回复
DataSource是一个池,如果你每用一次就释放,那就不能发挥池的作用了。
yujiabian 2004-10-20
  • 打赏
  • 举报
回复
cm4ever(小P)兄,我赞同你的观点,不过我也可以释放DataSource对象阿
zhonghua2003 2004-10-20
  • 打赏
  • 举报
回复
我也爱敏敏,顶~~~~~~~~~
禽兽v5 2004-10-19
  • 打赏
  • 举报
回复
你问题多发了一个吧,赶快删除,只要有人回复就删除不了,那100分就浪费了。
禽兽v5 2004-10-19
  • 打赏
  • 举报
回复
如果是查询,ResultSet也要记得close
禽兽v5 2004-10-19
  • 打赏
  • 举报
回复
DataSource只要初始化1次就可以了。单独写一个DbPool类,如下:

public class DbPool
{
private DataSource ds = null;

public static Connection openConnection()
{
if ( ds == null )
{
// 初始化datasource
}

return ds.getConnection();
}

public static void closeConnection(Connection conn)
{
if ( conn != null )
{
conn.close();
}
}
}

使用:
Connection conn = null
try {
conn = DbPool.openConnection();
...数据库操作
}catch() {
...异常操作
}finally{
DbPool.closeConnection(conn);
}

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧