01: /*
02: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
03: *
04: * This file is part of Resin(R) Open Source
05: *
06: * Each copy or derived work must preserve the copyright notice and this
07: * notice unmodified.
08: *
09: * Resin Open Source is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU General Public License as published by
11: * the Free Software Foundation; either version 2 of the License, or
12: * (at your option) any later version.
13: *
14: * Resin Open Source is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17: * of NON-INFRINGEMENT. See the GNU General Public License for more
18: * details.
19: *
20: * You should have received a copy of the GNU General Public License
21: * along with Resin Open Source; if not, write to the
22: *
23: * Free Software Foundation, Inc.
24: * 59 Temple Place, Suite 330
25: * Boston, MA 02111-1307 USA
26: *
27: * @author Sam
28: */
29:
30: package com.caucho.management.server;
31:
32: import com.caucho.jmx.Description;
33:
34: import javax.management.ObjectName;
35:
36: /**
37: * A Cluster is a collection of cluster members,
38: *
39: * Each instance of Resin has 0 or 1 active srun ports and accept
40: * inbound connections, available here with {@link #getPortObjectName}.
41: *
42: * Every instance of Resin can use
43: * {@link com.caucho.server.cluster.ClusterClient}s to establish
44: * outbound connections to other members of the cluster, available
45: * here with {@link #getServers()}.
46: *
47: * A typical ObjectName for a ClusterMBean is
48: * <pre>
49: * resin:type=Cluster,name=app-tier
50: * </pre>
51: */
52: public interface ClusterMXBean extends ManagedObjectMXBean {
53: //
54: // Hierarchy attributes
55: //
56:
57: /**
58: * Returns the owning ResinMXBean
59: */
60: public ResinMXBean getResin();
61:
62: /**
63: * Returns a list of {@link ObjectName}s for the
64: * {@link com.caucho.server.cluster.ClusterClient}s that
65: * are used to create outbound connections to communicate with
66: * members of the cluster.
67: */
68: @Description("The ServerConnectors that are used to create" + " outbound connections to communicate with" + " members of the cluster")
69: public ServerConnectorMXBean[] getServers();
70:
71: /**
72: * Returns a list of the ObjectNames for the virtual hosts.
73: */
74: @Description("Hosts are containers that are uniquely identified" + " by the hostname used in making an HTTP request")
75: public HostMXBean[] getHosts();
76:
77: /**
78: * Returns the persistent-store ObjectName.
79: */
80: @Description("The PersistentStore saves persistent and distributed session" + " information")
81: public PersistentStoreMXBean getPersistentStore();
82: }
|