KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > hajdbc > SynchronizationStrategy


1 /*
2  * HA-JDBC: High-Availability JDBC
3  * Copyright (c) 2004-2006 Paul Ferraro
4  *
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.
9  *
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
13  * for more details.
14  *
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
18  *
19  * Contact: ferraro@users.sourceforge.net
20  */

21 package net.sf.hajdbc;
22
23 import java.sql.Connection JavaDoc;
24 import java.util.List JavaDoc;
25 import java.util.Map JavaDoc;
26
27 /**
28  * @author Paul Ferraro
29  * @version $Revision: 863 $
30  * @since 1.0
31  */

32 public interface SynchronizationStrategy
33 {
34     /**
35      * Synchronizes the an inactive database with an active database using the specified connections.
36      * Implementors must not close the specified connections.
37      * @param inactiveConnection a connection to the inactive database
38      * @param activeConnection a connection to the active database
39      * @param schemaMap a map of schema name to list of table names
40      * @param dialect a Dialect instance
41      * @throws java.sql.SQLException if synchronization fails
42      */

43     public void synchronize(Connection JavaDoc inactiveConnection, Connection JavaDoc activeConnection, Map JavaDoc<String JavaDoc, List JavaDoc<String JavaDoc>> schemaMap, Dialect dialect) throws java.sql.SQLException JavaDoc;
44     
45     /**
46      * Indicates whether this strategy requires table locking on active databases.
47      * @return <code>true</code>, if table locking is required, <code>false</code> otherwise.
48      */

49     public boolean requiresTableLocking();
50 }
51
Popular Tags