/*
Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
The MySQL Connector/J is licensed under the terms of the GPLv2
<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.
There are special exceptions to the terms and conditions of the GPLv2 as it is applied to
this software, see the FLOSS License Exception
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.
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; version 2
of the License.
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., 51 Franklin St, Fifth
Floor, Boston, MA 02110-1301 USA
*/
package com.mysql.jdbc.jdbc2.optional;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.ConnectionPoolDataSource;
import javax.sql.PooledConnection;
/**
* This class is used to obtain a physical connection and instantiate and return
* a MysqlPooledConnection. J2EE application servers map client calls to
* dataSource.getConnection to this class based upon mapping set within
* deployment descriptor. This class extends MysqlDataSource.
*
* @see javax.sql.PooledConnection
* @see javax.sql.ConnectionPoolDataSource
* @see org.gjt.mm.mysql.MysqlDataSource
* @author Todd Wolff <todd.wolff_at_prodigy.net>
*/
public class MysqlConnectionPoolDataSource extends MysqlDataSource implements
ConnectionPoolDataSource {
static final long serialVersionUID = -7767325445592304961L;
// ~ Methods
// ----------------------------------------------------------------
/**
* Returns a pooled connection.
*
* @exception SQLException
* if an error occurs
* @return a PooledConnection
*/
public synchronized PooledConnection getPooledConnection()
throws SQLException {
Connection connection = getConnection();
MysqlPooledConnection mysqlPooledConnection = MysqlPooledConnection.getInstance(
(com.mysql.jdbc.Connection)connection);
return mysqlPooledConnection;
}
/**
* This method is invoked by the container. Obtains physical connection
* using mySql.Driver class and returns a mysqlPooledConnection object.
*
* @param s
* user name
* @param s1
* password
* @exception SQLException
* if an error occurs
* @return a PooledConnection
*/
public synchronized PooledConnection getPooledConnection(String s, String s1)
throws SQLException {
Connection connection = getConnection(s, s1);
MysqlPooledConnection mysqlPooledConnection = MysqlPooledConnection.getInstance(
(com.mysql.jdbc.Connection)connection);
return mysqlPooledConnection;
}
}