connectionpool.java

来自「PostgreSQL7.4.6 for Linux」· Java 代码 · 共 97 行

JAVA
97
字号
package org.postgresql.jdbc2.optional;import javax.sql.ConnectionPoolDataSource;import javax.sql.PooledConnection;import java.sql.SQLException;import java.io.Serializable;import java.io.ObjectOutputStream;import java.io.ObjectInputStream;import java.io.IOException;/** * PostgreSQL implementation of ConnectionPoolDataSource.  The app server or * middleware vendor should provide a DataSource implementation that takes advantage * of this ConnectionPoolDataSource.  If not, you can use the PostgreSQL implementation * known as PoolingDataSource, but that should only be used if your server or middleware * vendor does not provide their own.  Why? The server may want to reuse the same * Connection across all EJBs requesting a Connection within the same Transaction, or * provide other similar advanced features. * * <p>In any case, in order to use this ConnectionPoolDataSource, you must set the property * databaseName.  The settings for serverName, portNumber, user, and password are * optional.  Note: these properties are declared in the superclass.</p> * * <p>This implementation supports JDK 1.3 and higher.</p> * * @author Aaron Mulder (ammulder@chariotsolutions.com) * @version $Revision: 1.2.6.1 $ */public class ConnectionPool extends BaseDataSource implements Serializable, ConnectionPoolDataSource{	private boolean defaultAutoCommit = false;	/**	 * Gets a description of this DataSource.	 */	public String getDescription()	{		return "ConnectionPoolDataSource from " + org.postgresql.Driver.getVersion();	}	/**	 * Gets a connection which may be pooled by the app server or middleware	 * implementation of DataSource.	 *	 * @throws java.sql.SQLException	 *		   Occurs when the physical database connection cannot be established.	 */	public PooledConnection getPooledConnection() throws SQLException	{		return new PooledConnectionImpl(getConnection(), defaultAutoCommit);	}	/**	 * Gets a connection which may be pooled by the app server or middleware	 * implementation of DataSource.	 *	 * @throws java.sql.SQLException	 *		   Occurs when the physical database connection cannot be established.	 */	public PooledConnection getPooledConnection(String user, String password) throws SQLException	{		return new PooledConnectionImpl(getConnection(user, password), defaultAutoCommit);	}	/**	 * Gets whether connections supplied by this pool will have autoCommit	 * turned on by default.  The default value is <tt>false</tt>, so that	 * autoCommit will be turned off by default.	 */	public boolean isDefaultAutoCommit()	{		return defaultAutoCommit;	}	/**	 * Sets whether connections supplied by this pool will have autoCommit	 * turned on by default.  The default value is <tt>false</tt>, so that	 * autoCommit will be turned off by default.	 */	public void setDefaultAutoCommit(boolean defaultAutoCommit)	{		this.defaultAutoCommit = defaultAutoCommit;	}	private void writeObject(ObjectOutputStream out) throws IOException	{		writeBaseObject(out);		out.writeBoolean(defaultAutoCommit);	}	private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException	{		readBaseObject(in);		defaultAutoCommit = in.readBoolean();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?