2
* HA-JDBC: High-Availability JDBC
3
* Copyright (c) 2004-2008 Paul Ferraro
5
* This library is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU Lesser General Public License as published by the
7
* Free Software Foundation; either version 2.1 of the License, or (at your
8
* option) any later version.
10
* This library is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this library; if not, write to the Free Software Foundation,
17
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
* Contact: ferraro@users.sourceforge.net
21
package net.sf.hajdbc.sql.pool;
23
import java.lang.reflect.InvocationHandler;
24
import java.sql.SQLException;
26
import javax.sql.ConnectionPoolDataSource;
28
import net.sf.hajdbc.DatabaseCluster;
29
import net.sf.hajdbc.DatabaseClusterFactory;
30
import net.sf.hajdbc.sql.CommonDataSourceObjectFactory;
33
* @author Paul Ferraro
36
public class ConnectionPoolDataSourceFactory extends CommonDataSourceObjectFactory<ConnectionPoolDataSource>
39
* Constructs a new factory for creating a <code>ConnectionPoolDataSource</code>.
41
public ConnectionPoolDataSourceFactory()
43
super(ConnectionPoolDataSource.class);
47
* @see net.sf.hajdbc.sql.CommonDataSourceObjectFactory#getDatabaseCluster(java.lang.String, java.lang.String)
50
protected DatabaseCluster<ConnectionPoolDataSource> getDatabaseCluster(String id, String config) throws SQLException
52
return DatabaseClusterFactory.getDatabaseCluster(id, ConnectionPoolDataSourceDatabaseCluster.class, ConnectionPoolDataSourceDatabaseClusterMBean.class, config);
56
* @see net.sf.hajdbc.sql.CommonDataSourceObjectFactory#getInvocationHandler(net.sf.hajdbc.DatabaseCluster)
59
protected InvocationHandler getInvocationHandler(DatabaseCluster<ConnectionPoolDataSource> cluster)
61
return new ConnectionPoolDataSourceInvocationHandler(cluster);