64 lines
2.4 KiB
Java
64 lines
2.4 KiB
Java
/*
|
|
* The contents of this file are subject to the Mozilla Public License Version 1.1
|
|
* (the "License"); you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
|
|
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
|
|
* language governing rights and limitations under the License.
|
|
*
|
|
* The Original Code is the Venice Web Communities System.
|
|
*
|
|
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
|
|
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
|
* Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*/
|
|
package com.silverwrist.dynamo.iface;
|
|
|
|
import java.sql.Connection;
|
|
import com.silverwrist.dynamo.except.DatabaseException;
|
|
|
|
/**
|
|
* An interface to a simple pool of database connections. This interface allows us to obtain connections
|
|
* from the pool, and return them when we're done using them.
|
|
*
|
|
* @author Eric J. Bowersox <erbo@silcom.com>
|
|
* @version X
|
|
*/
|
|
public interface DBConnectionPool extends NamedObject, ServiceProvider
|
|
{
|
|
/**
|
|
* Returns a simple string identifying the database type. This is commonly used in database operations
|
|
* classes to create classnames that are dynamically loaded.
|
|
*
|
|
* @return The database identifier.
|
|
*/
|
|
public String getDatabaseType();
|
|
|
|
/**
|
|
* Returns the number of connections currently being managed by this connection pool.
|
|
*
|
|
* @return The number of connections currently being managed by this connection pool.
|
|
*/
|
|
public int numConnections();
|
|
|
|
/**
|
|
* Obtains a database connection object from the connection pool.
|
|
*
|
|
* @return The <CODE>Connection</CODE> object.
|
|
* @exception com.silverwrist.dynamo.except.DatabaseException If a connection could not be obtained.
|
|
*/
|
|
public Connection getConnection() throws DatabaseException;
|
|
|
|
/**
|
|
* Returns a database connection object to the connection pool.
|
|
*
|
|
* @param conn The <CODE>Connection</CODE> object to be released.
|
|
* @exception com.silverwrist.dynamo.except.DatabaseException If there was an error returning the connection.
|
|
*/
|
|
public void releaseConnection(Connection conn) throws DatabaseException;
|
|
|
|
} // end interface DBConnectionPool
|