01: /*
02: * HA-JDBC: High-Availability JDBC
03: * Copyright (c) 2004-2007 Paul Ferraro
04: *
05: * This library is free software; you can redistribute it and/or modify it
06: * under the terms of the GNU Lesser General Public License as published by the
07: * Free Software Foundation; either version 2.1 of the License, or (at your
08: * option) any later version.
09: *
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.util.Properties;
24:
25: /**
26: * @author Paul Ferraro
27: *
28: */
29: public interface ActiveDatabaseMBean {
30: /**
31: * Returns the unique idenfier for this database
32: * @return a unique identifier
33: */
34: public String getId();
35:
36: /**
37: * Returns the relative "weight" of this cluster node.
38: * In general, when choosing a node to service read requests, a cluster will favor the node with the highest weight.
39: * A weight of 0 is somewhat special, depending on the type of balancer used by the cluster.
40: * In most cases, a weight of 0 means that this node will never service read requests unless it is the only node in the cluster.
41: * @return a positive integer
42: */
43: public int getWeight();
44:
45: /**
46: * @return the database user
47: */
48: public String getUser();
49:
50: /**
51: * @return the password of the database user
52: */
53: public String getPassword();
54:
55: /**
56: * Returns a collection of additional properties of this database.
57: * @return additional properties of this database
58: */
59: public Properties getProperties();
60:
61: /**
62: * Indicates whether or not this database is local to the machine on which the JVM resides.
63: * @return true if local, false if remote
64: */
65: public boolean isLocal();
66: }
|