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 + -
显示快捷键?