自定义一个简单的连接池
2014-07-04 18:11
225 查看
package cn.paging;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.LinkedList;
//创建一个连接池
public class ConnectionPool {
private static Connection conn = null;
//存蓄连接的池
public static LinkedList<Connection> pool = new LinkedList<Connection>();
//程序以开始就创建10个连接
static{
try {
for(int i=0;i<10;i++){
conn = JdbcUtil.getConnection();
pool.add(conn);
}
System.out.println("初始化的连接有:");
for(Connection c : pool){
System.out.println(c);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//得到连接
public synchronized static Connection getConnection(){
if(pool.size()>0){
Connection conn = pool.remove();
System.out.println("你得到的连接时:"+conn);
return conn;
}else{
// Thread.sleep(10000);
throw new RuntimeException("系统繁忙,请稍后再试!");
}
}
//用完之后就放回去
public static void release(Connection conn){
pool.add(conn);
System.out.println("还回去的连接是:"+conn);
}
}
import java.sql.Connection;
import java.sql.SQLException;
import java.util.LinkedList;
//创建一个连接池
public class ConnectionPool {
private static Connection conn = null;
//存蓄连接的池
public static LinkedList<Connection> pool = new LinkedList<Connection>();
//程序以开始就创建10个连接
static{
try {
for(int i=0;i<10;i++){
conn = JdbcUtil.getConnection();
pool.add(conn);
}
System.out.println("初始化的连接有:");
for(Connection c : pool){
System.out.println(c);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//得到连接
public synchronized static Connection getConnection(){
if(pool.size()>0){
Connection conn = pool.remove();
System.out.println("你得到的连接时:"+conn);
return conn;
}else{
// Thread.sleep(10000);
throw new RuntimeException("系统繁忙,请稍后再试!");
}
}
//用完之后就放回去
public static void release(Connection conn){
pool.add(conn);
System.out.println("还回去的连接是:"+conn);
}
}
相关文章推荐
- 自定义一个简单的JDBC连接池
- 用自定义的module创建一个简单站点
- 一个简单的带Body的自定义Tag开发过程
- Flex4 Skinning 1: 自定义一个简单按钮的皮肤
- 在ArcGIS Server Java ADF中创建一个自定义task的简单步骤
- 一个简单的MenuStrip的自定义Renderer
- 一个简单的自定义ClassLoader的实现
- Groovy探索 自定义Range 一 一个简单的自定义Range类
- Feature开发一(制作一个简单的自定义菜单)
- 一个简单的组件开发源码(自定义Picturebox)
- 一个简单的分页控件,用来自定义分页用的
- 一个简单自定义屏幕,并调用word和excel的样例程序 1000弹出选择按钮
- 简单的一个自定义分页(C#)
- 一个简单自定义屏幕,并调用word和excel的样例程序
- .NET自定义异常的一个简单应用(转载)
- Groovy探索 自定义Range 一 一个简单的自定义Range类
- .NET自定义异常的一个简单应用
- 一个简单的自定义程序日志小样例
- 一个简单的数据库连接池(连接个数,连接时间限制)
- 一个简单的自定义ClassLoader的实现