dbconnectionfactory.java
来自「opennms得相关源码 请大家看看」· Java 代码 · 共 142 行
JAVA
142 行
//// This file is part of the OpenNMS(R) Application.//// OpenNMS(R) is Copyright (C) 2002-2003 The OpenNMS Group, Inc. All rights reserved.// OpenNMS(R) is a derivative work, containing both original code, included code and modified// code that was published under the GNU General Public License. Copyrights for modified // and included code are below.//// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.// // Copyright (C) 1999-2001 Oculan Corp. All rights reserved.//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//// For more information contact:// OpenNMS Licensing <license@opennms.org>// http://www.opennms.org/// http://www.opennms.com/////// Tab Size = 8////package org.opennms.core.resource.db;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;/** * A <code>DbConnectionFactory</code> allocates and deallocates connections * from a database. The concrete implementations of this interface specify a * particular allocation/deallocation policy. * * <p> * For example, an implementation might use and reuse connections from a * persistent pool of connections, while another might dynamically allocate and * deallocate connections for each request. * </p> * * @author <A HREF="mailto:larry@opennms.org">Lawrence Karnowski </A> * @author <A HREF="http://www.opennms.org/">OpenNMS </A> */public interface DbConnectionFactory { /** * Initialize a database factory with the given URL and driver classname. * Will guarantee that the JDBC driver is loaded and that connections will * now be available. * * <p> * Only one <code>init</code> method should be called. * * @param dbUrl * the JDBC URL used to retrieve connections * @param dbDriver * a fully qualified class name for the JDBC driver that handles * this JDBC URL */ public void init(String dbUrl, String dbDriver) throws ClassNotFoundException, SQLException; /** * Initialize a database factory with the given URL, driver classname, and * database credentials. Will guarantee that the JDBC driver is loaded and * that connections will be available. * * <p> * Only one <code>init</code> method should be called. * * @param dbUrl * the JDBC URL used to retrieve connections * @param dbDriver * a fully qualified class name for the JDBC driver that will * handle this JDBC URL * @param username * the name to use to authenticate us with the database * @param password * the credentials use to authenticate the username */ public void init(String dbUrl, String dbDriver, String username, String password) throws ClassNotFoundException, SQLException; /** * Initialize a database factory with the given URL, driver classname, and * database properties. Will guarantee that the JDBC driver is loaded and * that connections will be available. * * <p> * Only one <code>init</code> method should be called. * * @param dbUrl * the JDBC URL used to retrieve connections * @param dbDriver * a fully qualified class name for the JDBC driver that will * handle this JDBC URL * @param properties * a collection of database properties, these may be specific to * your particular database */ public void init(String dbUrl, String dbDriver, Properties properties) throws ClassNotFoundException, SQLException; /** * Deallocate all the resources that may have been allocated to this * database connection factory. Makes this factory unavailable for new * connection requests. */ public void destroy() throws SQLException; /** * Retrieve a connection from the given database connection pool. * * @throws IllegalStateException * If the factory has not been initialized or has been * destroyed. */ public Connection getConnection() throws SQLException; /** * Replace a database connection back in the pool of available connections * for its parent pool. * * @param connection * the connection to release * @throws IllegalStateException * If the factory has not been initialized or has been * destroyed. */ public void releaseConnection(Connection connection) throws SQLException;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?