//文件:DbConnectionManager.java
package com.qingtuo.db.pool;
import java.sql.*;
import java.io.*;
import java.util.*;
/**
* Central manager of database connections.
*/
public class DbConnectionManager {
private static DbConnectionProvider connectionProvider;
private static Object providerLock = new Object();
/**
* Returns a database connection from the currently active connection
* provider.
*/
public static Connection getConnection() {
if (connectionProvider == null) {
synchronized (providerLock) {
if (connectionProvider == null) {
//Create the connection provider -- for now, this is hardcoded. For
//the next beta, I'll change this to load up the provider dynamically.
connectionProvider = new DbConnectionDefaultPool();
connectionProvider.start();
}
}
}
Connection con = connectionProvider.getConnection();
一个连接池的例子(来自JIVE)(4)
时间: 2024-10-27 09:16:40
一个连接池的例子(来自JIVE)(4)的相关文章
一个连接池的例子(说明)
这个连接池是直接从JIVE中取出来的,进行了一下修改,使得连接参数直接在程序中设定而不是从属性文件中读取. 用法:先设定自己的连接参数,在DbConnectionDefaultPool.java文件的loadProperties方法中.注意你也需要设定连接池的log文件的存放位置. String driver="org.gjt.mm.mysql.Driver";//这是使用的JDBC驱动String server="jdbc:mysql://192.100.100.1/qin
一个连接池的例子(来自JIVE)(1)
//文件:DbConnectionDefaultPool.java的第一部分//请注意看里面注明的一处需要修改连接参数的地方package com.qingtuo.db.pool;import java.sql.*;import java.util.*;import java.io.*;import java.text.*;import java.util.Date;/** * Default Jive connection provider. It uses the excellent con
一个连接池的例子(来自JIVE)(6)
//文件:PropertyManager.java //这个类其实没什么用了,可以去掉,但需要去掉前面几个类中对这个类的引用.package com.qingtuo.db.pool; import java.util.*;import java.io.*; /** * Manages properties for the entire Jive system. Properties are merely * pieces of information that need to be saved
一个连接池的例子(来自JIVE)(5)
//文件:DbConnectionProvider.java package com.qingtuo.db.pool; import java.sql.*;import java.util.*; public abstract class DbConnectionProvider { /** Dummy values. Override in subclasses. **/ private static final String NAME = ""; private
一个连接池的例子(来自JIVE)(2)
//文件:DbConnectionDefaultPool.java的第二部分 /** * Housekeeping thread. Runs in the background with low CPU overhead. * Connections are checked for warnings and closure and are periodically * restarted. * This thread
一个连接池的例子(来自JIVE)(3)
//文件:DbConnectionDefaultPool.java的第三部分 /** * Returns the age of a connection -- the time since it was handed out to * an application. */ public long getAge(Connection conn) { // Returns the age of the connection
一个连接池的例子 (一)
//文件:DbConnectionDefaultPool.java的第一部分 //请注意看里面注明的一处需要修改连接参数的地方package com.qingtuo.db.pool; import java.sql.*;import java.util.*;import java.io.*;import java.text.*;import java.util.Date; /** * Default Jive connection provider. It uses the excellent
一个连接池的例子 (二)
/** * This method hands out the connections in round-robin order. * This prevents a faulty connection from locking * up an application entirely. A browser 'refresh' will * get the next connection while the fau
java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)
问题描述 java 需要做一个连接池.但是不是数据库的,而是类似于一个接口(或者IP地址) 具体场景如下: 对方提供多个计算服务器供我来调用,计算服务器只能同时计算2个任务. 现在我需要将计算服务器做成可以配置的,然后将任务排队.根据先进先出的原则. 如果所有服务器都在计算任务了.剩下的任务就需要排队了.而计算完成后,在去任务池中取任务.直到任务池的所有任务都处理玩了. 解决方案 使用JDK的线程池[Executors#newFixedThreadPool(2) ],同时并行两个任务,其他的都在