Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
DBConnection.java
Package: jforum-2.1.8-src.zip [view]
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 5k
Category:
Java Develop
Development Platform:
Java
- /*
- * Copyright (c) JForum Team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * 1) Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the
- * following disclaimer.
- * 2) Redistributions in binary form must reproduce the
- * above copyright notice, this list of conditions and
- * the following disclaimer in the documentation and/or
- * other materials provided with the distribution.
- * 3) Neither the name of "Rafael Steil" nor
- * the names of its contributors may be used to endorse
- * or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
- * IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
- *
- * This file creation date: 25/08/2004 23:03:14
- * The JForum Project
- * http://www.jforum.net
- */
- package net.jforum;
- import java.sql.Connection;
- import net.jforum.util.preferences.ConfigKeys;
- import net.jforum.util.preferences.SystemGlobals;
- import org.apache.log4j.Logger;
- /**
- * Base class for all database connection implementations that
- * may be used with JForum.
- * Default implementations are <code>PooledConnection</code>, which
- * is the defeault connection pool implementation, and <code>SimpleConnection</code>,
- * which opens a new connection on every request.
- *
- * @author Rafael Steil
- * @version $Id: DBConnection.java,v 1.14 2006/08/23 02:24:06 rafaelsteil Exp $
- */
- public abstract class DBConnection
- {
- private static final Logger logger = Logger.getLogger(DBConnection.class);
- protected boolean isDatabaseUp;
- private static DBConnection instance;
- /**
- * Creates an instance of some <code>DBConnection </code>implementation.
- *
- * @return <code>true</code> if the instance was successfully created,
- * or <code>false</code> if some exception was thrown.
- */
- public static boolean createInstance()
- {
- try {
- instance = (DBConnection)Class.forName(SystemGlobals.getValue(
- ConfigKeys.DATABASE_CONNECTION_IMPLEMENTATION)).newInstance();
- }
- catch (Exception e) {
- logger.warn("Error creating the database connection implementation instance. " + e);
- e.printStackTrace();
- return false;
- }
- return true;
- }
- /**
- * Gets the current <code>DBConnection</code> implementation's instance
- *
- * @return DBConnection
- */
- public static DBConnection getImplementation()
- {
- return instance;
- }
- /**
- * Checks if database connection is up.
- *
- * @return <code>true</code> if a connection to the database
- * was successfully created, or <code>false</code> if not.
- */
- public boolean isDatabaseUp()
- {
- return this.isDatabaseUp;
- }
- /**
- * Inits the implementation.
- * Connection pools may use this method to init the connections from the
- * database, while non-pooled implementation can provide an empty method
- * block if no other initialization is necessary.
- * <br>
- * Please note that this method will be called just once, at system startup.
- *
- * @throws Exception
- */
- public abstract void init() throws Exception;
- /**
- * Gets a connection.
- * Connection pools' normal behaviour will be to once connection
- * from the pool, while non-pooled implementations will want to
- * go to the database and get the connection in time the method
- * is called.
- *
- * @return Connection
- */
- public abstract Connection getConnection();
- /**
- * Releases a connection.
- * Connection pools will want to put the connection back to the pool list,
- * while non-pooled implementations should call <code>close()</code> directly
- * in the connection object.
- *
- * @param conn The connection to release
- */
- public abstract void releaseConnection(Connection conn);
- /**
- * Close all open connections.
- *
- * @throws Exception
- */
- public abstract void realReleaseAllConnections() throws Exception;
- }