求助!关于使用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();
}