功能完善的Java连接池调用实例
/**
* Title: ConnectPool.java
* Description: 连接池管理器
* Copyright: Copyright (c) 2002/12/25
* Company:
* Author :
* Version 2.0
*/
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.Date;
/**
* 管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接
* 池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.
*/
public class ConnectPool
{
static public ConnectPool instance; // 唯一实例
static public int clients;
public Vector drivers = new Vector(); //驱动
public PrintWriter log;
public Hashtable pools = new Hashtable(); //连接
/**
* 返回唯一实例.如果是第一次调用此方法,则创建实例
*
* @return DBConnectionManager 唯一实例
*/
static synchronized public ConnectPool getInstance()
{
if (instance == null)
{
instance = new ConnectPool();
}
clients++;
return instance;
}
/**
* 建构函数私有以防止其它对象创建本类实例
*/
public ConnectPool() {
init();
}
/**
* 将连接对象返回给由名字指定的连接池
*
* @param name 在属性文件中定义的连接池名字
* @param con 连接对象
*/
public void freeConnection(String name, Connection con)
{
DBConnectionPool pool = (DBConnectionPool) pools.get(name);
if (pool != null)
{
pool.freeConnection(con);
}
else
{
System.out.println("pool ==null");
}
clients--;
}
/**
* 获得一个可用的(空闲的)连接.如果没有可用连接,且已有连接数小于最大连接数
* 限制,则创建并返回新连接
*
* @param name 在属性文件中定义的连接池名字
* @return Connection 可用连接或null
*/
public Connection getConnection(String name)
{
DBConnectionPool pool = (DBConnectionPool) pools.get(name);
if (pool != null)
{
//return pool.getConnection();
return pool.returnConnection();
}
return null;
}
/**
* 获得一个可用连接.若没有可用连接,且已有连接数小于最大连接数限制,
* 则创建并返回新连接.否则,在指定的时间内等待其它线程释放连接.
*
* @param name 连接池名字
* @param time 以毫秒计的等待时间
* @return Co
相关文档:
以下是需要获得配置文件的类,其中获得 /config.properties 文件的数据
package com.chinacache.boss.queryservice.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
public final class ConfigConstant {
static Logger logg ......
宏天软件作为一个技术实力雄厚的软件技术公司,支持国内开源的工作,整合国际J2EE先进的开源技术,把公司自主研发的的J.Office
OA平台开放源代码,使用用户能够看得见并根据自己的实际情况修改源代码使之为己所用,在如此激烈的竞争环境中,只有商业软件、开源软件以及服务为导向的
软件等多种模式共享,并相互借 ......
前一段需要用短信猫发送短信,写了一段短信猫发送短信的代码:
import javax.comm.*;
import java.util.*;
import java.io.*;
import org.smslib.*;
public class smsModem
{
private static LinkedList<COutgoingMessage> msgList = new LinkedList<COutgoingMessage>();
&n ......
作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家:
1:网页Post请求,提交后,显示提交结果,乱码。
首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。
如html中:
(1)<i ......
Java中Inputstream与Reader的区别
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,
InputStream、OutputStream是用来处理8位元的流,
Reader、Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是1 ......