You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/10/26 22:49:39 UTC
[73/93] incubator-geode git commit: GEODE-288: move admin package to
internal
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertLevel.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertLevel.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertLevel.java
new file mode 100755
index 0000000..93c0bbd
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertLevel.java
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+import org.apache.geode.internal.admin.Alert;
+import org.apache.geode.internal.i18n.LocalizedStrings;
+
+/**
+ * Type-safe enumeration for {@link org.apache.geode.internal.admin.api.Alert
+ * Alert} level.
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public class AlertLevel implements java.io.Serializable {
+ private static final long serialVersionUID = -4752438966587392126L;
+
+ public static final AlertLevel WARNING = new AlertLevel(Alert.WARNING, "WARNING");
+ public static final AlertLevel ERROR = new AlertLevel(Alert.ERROR, "ERROR");
+ public static final AlertLevel SEVERE = new AlertLevel(Alert.SEVERE, "SEVERE");
+
+ public static final AlertLevel OFF = new AlertLevel(Alert.OFF, "OFF");
+
+ /** The severity level of this AlertLevel. Greater is more severe. */
+ private final transient int severity;
+
+ /** The name of this AlertLevel. */
+ private final transient String name;
+
+ // The 4 declarations below are necessary for serialization
+ /** int used as ordinal to represent this AlertLevel */
+ public final int ordinal = nextOrdinal++;
+
+ private static int nextOrdinal = 0;
+
+ private static final AlertLevel[] VALUES = {WARNING, ERROR, SEVERE, OFF};
+
+ private Object readResolve() throws java.io.ObjectStreamException {
+ return VALUES[ordinal]; // Canonicalize
+ }
+
+ /** Creates a new instance of AlertLevel. */
+ private AlertLevel(int severity, String name) {
+ this.severity = severity;
+ this.name = name;
+ }
+
+ /** Return the AlertLevel represented by specified ordinal */
+ public static AlertLevel fromOrdinal(int ordinal) {
+ return VALUES[ordinal];
+ }
+
+ /**
+ * Returns the <code>AlertLevel</code> for the given severity
+ *
+ * @throws IllegalArgumentException If there is no alert level with the given
+ * <code>severity</code>
+ */
+ public static AlertLevel forSeverity(int severity) {
+ switch (severity) {
+ case Alert.WARNING:
+ return AlertLevel.WARNING;
+ case Alert.ERROR:
+ return AlertLevel.ERROR;
+ case Alert.SEVERE:
+ return AlertLevel.SEVERE;
+ case Alert.OFF:
+ return AlertLevel.OFF;
+ default:
+ throw new IllegalArgumentException(LocalizedStrings.AlertLevel_UNKNOWN_ALERT_SEVERITY_0
+ .toLocalizedString(Integer.valueOf(severity)));
+ }
+ }
+
+ /**
+ * Returns the <code>AlertLevel</code> with the given name
+ *
+ * @throws IllegalArgumentException If there is no alert level named <code>name</code>
+ */
+ public static AlertLevel forName(String name) {
+ for (int i = 0; i < VALUES.length; i++) {
+ AlertLevel level = VALUES[i];
+ if (level.getName().equalsIgnoreCase(name)) {
+ return level;
+ }
+ }
+
+ throw new IllegalArgumentException(
+ LocalizedStrings.AlertLevel_THERE_IS_NO_ALERT_LEVEL_0.toLocalizedString(name));
+ }
+
+ public int getSeverity() {
+ return this.severity;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public static AlertLevel[] values() {
+ return VALUES;
+ }
+
+ /**
+ * Returns a string representation for this alert level.
+ *
+ * @return the name of this alert level
+ */
+ @Override
+ public String toString() {
+ return this.name /* + "=" + this.severity */;
+ }
+
+ /**
+ * Indicates whether some other object is "equal to" this one.
+ *
+ * @param other the reference object with which to compare.
+ * @return true if this object is the same as the obj argument; false otherwise.
+ */
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof AlertLevel))
+ return false;
+ final AlertLevel that = (AlertLevel) other;
+
+ if (this.severity != that.severity)
+ return false;
+ if (this.name != null && !this.name.equals(that.name))
+ return false;
+
+ return true;
+ }
+
+ /**
+ * Returns a hash code for the object. This method is supported for the benefit of hashtables such
+ * as those provided by java.util.Hashtable.
+ *
+ * @return the integer 0 if description is null; otherwise a unique integer.
+ */
+ @Override
+ public int hashCode() {
+ int result = 17;
+ final int mult = 37;
+
+ result = mult * result + this.severity;
+ result = mult * result + (this.name == null ? 0 : this.name.hashCode());
+
+ return result;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertListener.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertListener.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertListener.java
new file mode 100755
index 0000000..073431f
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/AlertListener.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * A listener whose callback methods are invoked when an {@link Alert} is received.
+ *
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface AlertListener extends java.util.EventListener {
+
+ /**
+ * Invoked when an <code>Alert</code> is received.
+ */
+ public void alert(Alert alert);
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/BackupStatus.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/BackupStatus.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/BackupStatus.java
new file mode 100644
index 0000000..f9d396e
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/BackupStatus.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.geode.cache.persistence.PersistentID;
+import org.apache.geode.distributed.DistributedMember;
+
+/**
+ * The status of a backup operation, returned by
+ * {@link AdminDistributedSystem#backupAllMembers(java.io.File,java.io.File)}.
+ *
+ * @since GemFire 6.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface BackupStatus {
+
+ /**
+ * Returns a map of disk stores that were successfully backed up. The key is an online distributed
+ * member. The value is the set of disk stores on that distributed member.
+ */
+ Map<DistributedMember, Set<PersistentID>> getBackedUpDiskStores();
+
+ /**
+ * Returns the set of disk stores that were known to be offline at the time of the backup. These
+ * members were not backed up. If this set is not empty the backup may not contain a complete
+ * snapshot of any partitioned regions in the distributed system.
+ */
+ Set<PersistentID> getOfflineDiskStores();
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheDoesNotExistException.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheDoesNotExistException.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheDoesNotExistException.java
new file mode 100644
index 0000000..3b476fe
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheDoesNotExistException.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.apache.geode.internal.admin.api;
+
+/**
+ * An <code>CacheDoesNotExistException</code> is thrown when an attempt is made to get a cache and
+ * one does not exist.
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public class CacheDoesNotExistException extends AdminException {
+ private static final long serialVersionUID = -1639933911265729978L;
+
+ /**
+ * Constructs a new exception with <code>null</code> as its detail message. The cause is not
+ * initialized, and may subsequently be initialized by a call to {@link Throwable#initCause}.
+ */
+ public CacheDoesNotExistException() {
+ super();
+ }
+
+ /**
+ * Constructs a new exception with the specified detail message. The cause is not initialized, and
+ * may subsequently be initialized by a call to {@link Throwable#initCause}.
+ *
+ * @param message the detail message. The detail message is saved for later retrieval by the
+ * {@link #getMessage()} method.
+ */
+ public CacheDoesNotExistException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified detail message and cause.
+ * <p>
+ * Note that the detail message associated with <code>cause</code> is <i>not</i> automatically
+ * incorporated in this exception's detail message.
+ *
+ * @param message the detail message (which is saved for later retrieval by the
+ * {@link #getMessage()} method).
+ * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} method).
+ * (A <tt>null</tt> value is permitted, and indicates that the cause is nonexistent or
+ * unknown.)
+ */
+ public CacheDoesNotExistException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Constructs a new exception with the specified cause and a detail message of
+ * <tt>(cause==null ? null : cause.toString())</tt> (which typically contains the class and detail
+ * message of <tt>cause</tt>). This constructor is useful for exceptions that are little more than
+ * wrappers for other throwables (for example, {@link java.security.PrivilegedActionException}).
+ *
+ * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} method).
+ * (A <tt>null</tt> value is permitted, and indicates that the cause is nonexistent or
+ * unknown.)
+ */
+ public CacheDoesNotExistException(Throwable cause) {
+ super(cause);
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheHealthConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheHealthConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheHealthConfig.java
new file mode 100644
index 0000000..69c0c82
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheHealthConfig.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Provides configuration information relating to the health of a member of a GemFire distributed
+ * system that hosts a GemFire {@link org.apache.geode.cache.Cache Cache}.
+ *
+ * <P>
+ *
+ * If any of the following criteria is true, then a cache member is considered to be in
+ * {@link GemFireHealth#OKAY_HEALTH OKAY_HEALTH}.
+ *
+ * <UL>
+ *
+ * <LI><code>netSearch</code> operations take {@linkplain #getMaxNetSearchTime too long} to
+ * complete.</LI>
+ *
+ * <LI>Cache <code>load</code> operations take {@linkplain #getMaxLoadTime too long} to
+ * complete.</LI>
+ *
+ * <LI>The overall cache {@link #getMinHitRatio hitRatio} is too small</LI>
+ *
+ * <LI>The number of entries in the Cache {@link #getMaxEventQueueSize event delivery queue} is too
+ * large.</LI>
+ *
+ * <LI>If one of the regions is configured with {@link org.apache.geode.cache.LossAction#FULL_ACCESS
+ * FULL_ACCESS} on role loss.</LI>
+ *
+ * </UL>
+ *
+ * If any of the following criteria is true, then a cache member is considered to be in
+ * {@link GemFireHealth#POOR_HEALTH POOR_HEALTH}.
+ *
+ * <UL>
+ *
+ * <LI>If one of the regions is configured with {@link org.apache.geode.cache.LossAction#NO_ACCESS
+ * NO_ACCESS} on role loss.</LI>
+ *
+ * <LI>If one of the regions is configured with
+ * {@link org.apache.geode.cache.LossAction#LIMITED_ACCESS LIMITED_ACCESS} on role loss.</LI>
+ *
+ * </UL>
+ *
+ * <UL>
+ *
+ * </UL>
+ *
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface CacheHealthConfig {
+
+ /**
+ * The default maximum number of milliseconds a <code>netSearch</code> operation can take before
+ * the cache member is considered to be unhealthy.
+ */
+ public static final long DEFAULT_MAX_NET_SEARCH_TIME = 60 * 1000;
+
+ /**
+ * The default maximum mumber of milliseconds a cache <code>load</code> operation can take before
+ * the cache member is considered to be unhealthy.
+ */
+ public static final long DEFAULT_MAX_LOAD_TIME = 60 * 1000;
+
+ /** The default minimum hit ratio of a healthy cache member. */
+ public static final double DEFAULT_MIN_HIT_RATIO = 0.0;
+
+ /**
+ * The default maximum number of entries in the event delivery queue of a healthy cache member.
+ */
+ public static final long DEFAULT_MAX_EVENT_QUEUE_SIZE = 1000;
+
+ /////////////////////// Instance Methods ///////////////////////
+
+ /**
+ * Returns the maximum number of milliseconds a <code>netSearch</code> operation can take before
+ * the cache member is considered to be unhealthy.
+ *
+ * @see #DEFAULT_MAX_NET_SEARCH_TIME
+ */
+ public long getMaxNetSearchTime();
+
+ /**
+ * Sets the maximum number of milliseconds a <code>netSearch</code> operation can take before the
+ * cache member is considered to be unhealthy.
+ *
+ * @see #getMaxNetSearchTime
+ */
+ public void setMaxNetSearchTime(long maxNetSearchTime);
+
+ /**
+ * Returns the maximum mumber of milliseconds a cache <code>load</code> operation can take before
+ * the cache member is considered to be unhealthy.
+ *
+ * @see #DEFAULT_MAX_LOAD_TIME
+ */
+ public long getMaxLoadTime();
+
+ /**
+ * Sets the maximum mumber of milliseconds a cache <code>load</code> operation can take before the
+ * cache member is considered to be unhealthy.
+ *
+ * @see #getMaxLoadTime
+ */
+ public void setMaxLoadTime(long maxLoadTime);
+
+ /**
+ * Returns the minimum hit ratio of a healthy cache member.
+ *
+ * @see #DEFAULT_MIN_HIT_RATIO
+ */
+ public double getMinHitRatio();
+
+ /**
+ * Sets the minimum hit ratio of a healthy cache member.
+ *
+ * @see #getMinHitRatio
+ */
+ public void setMinHitRatio(double minHitRatio);
+
+ /**
+ * Returns the maximum number of entries in the event delivery queue of a healthy cache member.
+ *
+ * @see #DEFAULT_MAX_EVENT_QUEUE_SIZE
+ */
+ public long getMaxEventQueueSize();
+
+ /**
+ * Sets the maximum number of entries in the event delivery queue of a healthy cache member.
+ *
+ * @see #getMaxEventQueueSize
+ */
+ public void setMaxEventQueueSize(long maxEventQueueSize);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServer.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServer.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServer.java
new file mode 100644
index 0000000..79f6e7a
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServer.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * A dedicated cache server VM that is managed by the administration API.
+ *
+ * @since GemFire 4.0
+ * @deprecated as of 5.7 use {@link CacheVm} instead.
+ */
+@Deprecated
+public interface CacheServer extends SystemMember, ManagedEntity {
+ /**
+ * Returns the configuration of this cache vm
+ *
+ * @deprecated as of 5.7 use {@link CacheVm#getVmConfig} instead.
+ */
+ @Deprecated
+ public CacheServerConfig getConfig();
+
+ /**
+ * Find whether this server is primary for given client (durableClientId)
+ *
+ * @param durableClientId - durable-id of the client
+ * @return true if the server is primary for given client
+ *
+ * @since GemFire 5.6
+ */
+ public boolean isPrimaryForDurableClient(String durableClientId);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServerConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServerConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServerConfig.java
new file mode 100644
index 0000000..383cf2e
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheServerConfig.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Configuration for a GemFire cache server that is managed by the administration API. The cache
+ * server may or may not be running.
+ *
+ * @see AdminDistributedSystem#addCacheServer()
+ *
+ * @since GemFire 4.0
+ * @deprecated as of 5.7 use {@link CacheVmConfig} instead.
+ */
+@Deprecated
+public interface CacheServerConfig extends CacheVmConfig {
+ /**
+ * Returns the <code>cache.xml</code> declarative caching initialization file used to configure
+ * this cache server VM. By default, a cache server VM is started without an XML file.
+ */
+ public String getCacheXMLFile();
+
+ /**
+ * Sets the <code>cache.xml</code> declarative caching initialization file used to configure this
+ * cache server VM.
+ */
+ public void setCacheXMLFile(String cacheXml);
+
+ /**
+ * Returns the location(s) of user classes (such as cache loaders) required by the cache server
+ * VM.
+ */
+ public String getClassPath();
+
+ /**
+ * Sets the location(s) of user classes (such as cache loaders) required by the cache server VM.
+ */
+ public void setClassPath(String classpath);
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVm.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVm.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVm.java
new file mode 100755
index 0000000..139e189
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVm.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * A dedicated cache server VM that is managed by the administration API.
+ * <p>
+ * Note that this may not represent an instance of
+ * {@link org.apache.geode.cache.server.CacheServer}. It is possible for a cache VM to be started
+ * but for it not to listen for client connections in which case it is not a
+ * {@link org.apache.geode.cache.server.CacheServer} but is an instance of this interface.
+ *
+ * @since GemFire 5.7
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface CacheVm extends SystemMember, ManagedEntity {
+ /**
+ * Returns the configuration of this cache vm
+ */
+ public CacheVmConfig getVmConfig();
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVmConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVmConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVmConfig.java
new file mode 100755
index 0000000..a42437d
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/CacheVmConfig.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Configuration for a GemFire cache server VM that is managed by the administration API. The VM may
+ * or may not be running.
+ *
+ * @see AdminDistributedSystem#addCacheVm()
+ *
+ * @since GemFire 5.7
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface CacheVmConfig extends ManagedEntityConfig {
+ /**
+ * Returns the <code>cache.xml</code> declarative caching initialization file used to configure
+ * this cache server VM. By default, a cache server VM is started without an XML file.
+ */
+ public String getCacheXMLFile();
+
+ /**
+ * Sets the <code>cache.xml</code> declarative caching initialization file used to configure this
+ * cache server VM.
+ */
+ public void setCacheXMLFile(String cacheXml);
+
+ /**
+ * Returns the location(s) of user classes (such as cache loaders) required by the cache server
+ * VM.
+ */
+ public String getClassPath();
+
+ /**
+ * Sets the location(s) of user classes (such as cache loaders) required by the cache server VM.
+ */
+ public void setClassPath(String classpath);
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/ConfigurationParameter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/ConfigurationParameter.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/ConfigurationParameter.java
new file mode 100755
index 0000000..88e8aa8
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/ConfigurationParameter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.apache.geode.internal.admin.api;
+
+/**
+ * A single configuration parameter of a {@link SystemMember}.
+ *
+ * @since GemFire 3.5
+ *
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface ConfigurationParameter {
+
+ /** Gets the identifying name of this configuration parameter. */
+ public String getName();
+
+ /** Gets the full description of this configuration parameter */
+ public String getDescription();
+
+ /** Gets the current value */
+ public Object getValue();
+
+ /** Gets the current value as a string */
+ public String getValueAsString();
+
+ /** Gets the class type of the value */
+ public Class getValueType();
+
+ /** True if this is modifiable; false if read-only */
+ public boolean isModifiable();
+
+ /** Returns true if this config parameter uses a string array for value. */
+ public boolean isArray();
+
+ /** Returns true if this config parameter represents an InetAddress value. */
+ public boolean isInetAddress();
+
+ /** Returns true if this config parameter represents a File value. */
+ public boolean isFile();
+
+ /** Returns true if this config parameter represents an octal value. */
+ public boolean isOctal();
+
+ /** Returns true if this config parameter represents a string value. */
+ public boolean isString();
+
+ /**
+ * Sets a new value for this configuration parameter.
+ *
+ * @param value the new value which must be of type {@link #getValueType}
+ * @throws IllegalArgumentException if value type does not match {@link #getValueType}
+ * @throws UnmodifiableConfigurationException if attempting to set value when isModifiable is
+ * false
+ */
+ public void setValue(Object value) throws UnmodifiableConfigurationException;
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemConfig.java
new file mode 100755
index 0000000..052c828
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemConfig.java
@@ -0,0 +1,627 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+import org.apache.geode.internal.admin.api.impl.InetAddressUtil;
+import org.apache.geode.distributed.internal.DistributionConfig;
+
+import java.util.Properties;
+
+import static org.apache.geode.distributed.ConfigurationProperties.*;
+
+
+/**
+ * Configuration for defining a GemFire distributed system to administrate. This configuration
+ * includes information about the discovery mechanism used to find members of the distributed system
+ * and information about {@linkplain ManagedEntity managed entities} such as
+ * {@linkplain DistributionLocator distribution locators} and {@linkplain CacheVm GemFire cache vms}
+ * that can be {@linkplain AdminDistributedSystem#start started}.
+ *
+ * <P>
+ *
+ * Detailed descriptions of many of these configuration attributes can be found in the
+ * {@link org.apache.geode.distributed.DistributedSystem DistributedSystem} class. Note that the
+ * default values of these configuration attributes can be specified using Java system properties.
+ *
+ * <P>
+ *
+ * A <code>DistributedSystemConfig</code> can be modified using a number of mutator methods until
+ * the <code>AdminDistributedSystem</code> that it configures
+ * {@linkplain AdminDistributedSystem#connect connects} to the distributed system. After that,
+ * attempts to modify most attributes in the <code>DistributedSystemConfig</code> will result in an
+ * {@link IllegalStateException} being thrown. If you wish to use the same
+ * <code>DistributedSystemConfig</code> to configure multiple <code>AdminDistributedSystem</code>s,
+ * a copy of the <code>DistributedSystemConfig</code> object can be made by invoking the
+ * {@link #clone} method.
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface DistributedSystemConfig extends Cloneable {
+
+ /**
+ * The name of an XML file that specifies the configuration for the {@linkplain ManagedEntity
+ * managed entities} administered by the <code>DistributedSystem</code>. The XML file must conform
+ * to a <a href="doc-files/ds5_0.dtd">dtd</a>.
+ */
+ String ENTITY_CONFIG_XML_FILE_NAME = "entity-config-xml-file";
+
+ /**
+ * The default value of the "entity-config-xml-file" property ("distributed-system.xml").
+ */
+ String DEFAULT_ENTITY_CONFIG_XML_FILE = "distributed-system.xml";
+
+ /** The name of the "system-id" property */
+ String SYSTEM_ID_NAME = "system-id";
+
+ /** The default value of the "system-id" property ("") */
+ String DEFAULT_SYSTEM_ID = "Default System";
+
+ /** The name of the "name" property. See {@link #getSystemName()}. */
+ String NAME_NAME = NAME;
+
+ /** The default value of the "name" property (""). See {@link #getSystemName()}. */
+ String DEFAULT_NAME = "";
+
+ /** The name of the "mcastPort" property */
+ String MCAST_PORT_NAME = MCAST_PORT;
+
+ /** The default value of the "mcastPort" property (10334) */
+ int DEFAULT_MCAST_PORT = DistributionConfig.DEFAULT_MCAST_PORT;
+
+ /** The minimum mcastPort (0) */
+ int MIN_MCAST_PORT = DistributionConfig.MIN_MCAST_PORT;
+
+ /** The maximum mcastPort (65535) */
+ int MAX_MCAST_PORT = DistributionConfig.MAX_MCAST_PORT;
+
+ /** The name of the "mcastAddress" property */
+ String MCAST_ADDRESS_NAME = MCAST_ADDRESS;
+
+ /** The default value of the "mcastAddress" property (239.192.81.1). */
+ String DEFAULT_MCAST_ADDRESS = InetAddressUtil.toString(DistributionConfig.DEFAULT_MCAST_ADDRESS);
+
+ /**
+ * The name of the "membership-port-range" property
+ *
+ * @since GemFire 6.5
+ */
+ String MEMBERSHIP_PORT_RANGE_NAME = MEMBERSHIP_PORT_RANGE;
+
+ /**
+ * The default membership-port-range.
+ * <p>
+ * Actual value is <code>[1024,65535]</code>.
+ *
+ * @since GemFire 6.5
+ */
+ int[] DEFAULT_MEMBERSHIP_PORT_RANGE = DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE;
+
+ /**
+ * settings for tcp-port
+ *
+ * @since GemFire 6.5
+ */
+ String TCP_PORT_NAME = TCP_PORT;
+ /**
+ * The default value of the "tcpPort" property.
+ * <p>
+ * Actual value is <code>0</code>.
+ *
+ * @since GemFire 6.5
+ */
+ int DEFAULT_TCP_PORT = DistributionConfig.DEFAULT_TCP_PORT;
+
+ /**
+ * The default AckWaitThreshold.
+ * <p>
+ * Actual value of this constant is <code>15</code> seconds.
+ */
+ int DEFAULT_ACK_WAIT_THRESHOLD = DistributionConfig.DEFAULT_ACK_WAIT_THRESHOLD;
+ /**
+ * The minimum AckWaitThreshold.
+ * <p>
+ * Actual value of this constant is <code>1</code> second.
+ */
+ int MIN_ACK_WAIT_THRESHOLD = DistributionConfig.MIN_ACK_WAIT_THRESHOLD;
+ /**
+ * The maximum AckWaitThreshold.
+ * <p>
+ * Actual value of this constant is <code>MAX_INT</code> seconds.
+ */
+ int MAX_ACK_WAIT_THRESHOLD = DistributionConfig.MIN_ACK_WAIT_THRESHOLD;
+
+ /**
+ * The default ackSevereAlertThreshold.
+ * <p>
+ * Actual value of this constant is <code>0</code> seconds, which turns off forced disconnects
+ * based on ack wait periods.
+ */
+ int DEFAULT_ACK_SEVERE_ALERT_THRESHOLD = DistributionConfig.DEFAULT_ACK_SEVERE_ALERT_THRESHOLD;
+ /**
+ * The minimum ackSevereAlertThreshold.
+ * <p>
+ * Actual value of this constant is <code>0</code> second, which turns off forced disconnects
+ * based on ack wait periods.
+ */
+ int MIN_ACK_SEVERE_ALERT_THRESHOLD = DistributionConfig.MIN_ACK_SEVERE_ALERT_THRESHOLD;
+ /**
+ * The maximum ackSevereAlertThreshold.
+ * <p>
+ * Actual value of this constant is <code>MAX_INT</code> seconds.
+ */
+ int MAX_ACK_SEVERE_ALERT_THRESHOLD = DistributionConfig.MAX_ACK_SEVERE_ALERT_THRESHOLD;
+
+ /** The name of the "locators" property (comma-delimited host[port] list) */
+ String LOCATORS_NAME = LOCATORS;
+
+ /** The default value of the "locators" property ("") */
+ String DEFAULT_LOCATORS = DistributionConfig.DEFAULT_LOCATORS;
+
+ /** The name of the "bindAddress" property */
+ String BIND_ADDRESS_NAME = BIND_ADDRESS;
+
+ /** The default value of the "bindAddress" property */
+ String DEFAULT_BIND_ADDRESS = DistributionConfig.DEFAULT_BIND_ADDRESS;
+
+ /** The name of the remote-command property */
+ String REMOTE_COMMAND_NAME = "remote-command";
+
+ /** The default value of the remote-command property */
+ String DEFAULT_REMOTE_COMMAND = "rsh -n {HOST} {CMD}";
+
+ /** The default disable-tcp value (<code>false</code>) */
+ boolean DEFAULT_DISABLE_TCP = DistributionConfig.DEFAULT_DISABLE_TCP;
+
+ /** The default enable-network-partition-detection setting (<code>false</code>) */
+ boolean DEFAULT_ENABLE_NETWORK_PARTITION_DETECTION =
+ DistributionConfig.DEFAULT_ENABLE_NETWORK_PARTITION_DETECTION;
+
+ /** The default disable-auto-reconnect setting (<code>false</code>) */
+ boolean DEFAULT_DISABLE_AUTO_RECONNECT = DistributionConfig.DEFAULT_DISABLE_AUTO_RECONNECT;
+
+ /** The default failure-detection timeout period for member heart-beat responses */
+ int DEFAULT_MEMBER_TIMEOUT = DistributionConfig.DEFAULT_MEMBER_TIMEOUT;
+
+ /** The name of the "logFile" property */
+ String LOG_FILE_NAME = LOG_FILE;
+
+ /**
+ * The default log-file value ("" which directs logging to standard output)
+ */
+ String DEFAULT_LOG_FILE = "";
+
+ /** The name of the "logLevel" property */
+ String LOG_LEVEL_NAME = LOG_LEVEL;
+
+ /** The default log level ("config") */
+ String DEFAULT_LOG_LEVEL = "config";
+
+ /** The name of the "LogDiskSpaceLimit" property */
+ String LOG_DISK_SPACE_LIMIT_NAME = LOG_DISK_SPACE_LIMIT;
+
+ /** The default log disk space limit in megabytes (0) */
+ int DEFAULT_LOG_DISK_SPACE_LIMIT = DistributionConfig.DEFAULT_LOG_DISK_SPACE_LIMIT;
+
+ /** The minimum log disk space limit in megabytes (0) */
+ int MIN_LOG_DISK_SPACE_LIMIT = DistributionConfig.MIN_LOG_DISK_SPACE_LIMIT;
+
+ /** The minimum log disk space limit in megabytes (1000000) */
+ int MAX_LOG_DISK_SPACE_LIMIT = DistributionConfig.MAX_LOG_DISK_SPACE_LIMIT;
+
+ /** The name of the "LogFileSizeLimit" property */
+ String LOG_FILE_SIZE_LIMIT_NAME = LOG_FILE_SIZE_LIMIT;
+
+ /** The default log file size limit in megabytes (0) */
+ int DEFAULT_LOG_FILE_SIZE_LIMIT = DistributionConfig.DEFAULT_LOG_FILE_SIZE_LIMIT;
+
+ /** The minimum log file size limit in megabytes (0) */
+ int MIN_LOG_FILE_SIZE_LIMIT = DistributionConfig.MIN_LOG_FILE_SIZE_LIMIT;
+
+ /** The minimum log file size limit in megabytes (1000000) */
+ int MAX_LOG_FILE_SIZE_LIMIT = DistributionConfig.MAX_LOG_FILE_SIZE_LIMIT;
+
+ /**
+ * The name of the "refreshInterval" property which will apply to SystemMember, SystemMemberCache
+ * and StatisticResource refresh. This interval (in seconds) is used for auto-polling and updating
+ * AdminDistributedSystem constituents including SystemMember, CacheServer, SystemMemberCache and
+ * StatisticResource. This interval is read-only and retains the value set when the config is
+ * created. Note that the resource MBeans actually refresh and hit the DS only if there is an RMI
+ * client connected
+ */
+ String REFRESH_INTERVAL_NAME = "refresh-interval";
+
+ /**
+ * The default "refreshInterval" in seconds which will apply to REFRESH_INTERVAL_NAME property.
+ * The default value is 15 secs
+ */
+ int DEFAULT_REFRESH_INTERVAL = 15;
+
+ ////////////////////// Instance Methods //////////////////////
+
+ /**
+ * Returns the name of the XML file that specifies the configuration
+ * of the {@linkplain ManagedEntity
+ * managed entities} administered by the
+ * <code>DistributedSystem</code>. The XML file must conform to a
+ * <a href="doc-files/ds5_0.dtd">dtd</a>.
+ *
+ * @since GemFire 4.0
+ */
+ public String getEntityConfigXMLFile();
+
+ /**
+ * Sets the name of the XML file that specifies the configuration of managed entities administered
+ * by the <code>DistributedSystem</code>.
+ */
+ public void setEntityConfigXMLFile(String xmlFile);
+
+ /** Returns the string identity for the system */
+ public String getSystemId();
+
+ /** Sets the string identity for the system */
+ public void setSystemId(String systemId);
+
+ /** Returns the optional non-unique name for the system */
+ public String getSystemName();
+
+ /** Sets the optional non-unique name for the system */
+ public void setSystemName(final String name);
+
+ /** Returns the multicast address for the system */
+ public String getMcastAddress();
+
+ /** Sets the multicast address for the system */
+ public void setMcastAddress(String mcastAddress);
+
+ /** Returns the multicast port for the system */
+ public int getMcastPort();
+
+ /** Sets the multicast port for the system */
+ public void setMcastPort(int mcastPort);
+
+ /** Returns the ack-wait-threshold for the system */
+ public int getAckWaitThreshold();
+
+ /** Sets the ack-wait-threshold for the system */
+ public void setAckWaitThreshold(int seconds);
+
+ /** Returns the ack-severe-alert-threshold for the system */
+ public int getAckSevereAlertThreshold();
+
+ /** Sets the ack-severe-alert-threshold for the system */
+ public void setAckSevereAlertThreshold(int seconds);
+
+ /** Returns a comma-delimited list of locators for the system */
+ public String getLocators();
+
+ /** Sets the comma-delimited list of locators for the system */
+ public void setLocators(String locators);
+
+ /**
+ * Returns the membership-port-range property of the Distributed System. This range is given as
+ * two numbers separated by a minus sign.
+ *
+ * @since GemFire 6.5
+ */
+ public String getMembershipPortRange();
+
+ /**
+ * Sets the membership-port-range property of the Distributed System. This range is given as two
+ * numbers separated by a minus sign.
+ *
+ * @since GemFire 6.5
+ */
+ public void setMembershipPortRange(String membershipPortRange);
+
+
+ /**
+ * Sets the primary communication port number for the Distributed System.
+ *
+ * @since GemFire 6.5
+ */
+ public void setTcpPort(int port);
+
+ /**
+ * Returns the primary communication port number for the Distributed System.
+ *
+ * @since GemFire 6.5
+ */
+ public int getTcpPort();
+
+
+ /**
+ * Sets the disable-tcp property for the system. When tcp is disabled, the cache uses udp for
+ * unicast messaging. This must be consistent across all members of the distributed system. The
+ * default is to enable tcp.
+ */
+ public void setDisableTcp(boolean flag);
+
+ /**
+ * Returns the disable-tcp property for the system. When tcp is disabled, the cache uses udp for
+ * unicast messaging. This must be consistent across all members of the distributed system. The
+ * default is to enable tcp.
+ */
+ public boolean getDisableTcp();
+
+
+ /**
+ * Turns on network partition detection
+ */
+ public void setEnableNetworkPartitionDetection(boolean newValue);
+
+ /**
+ * Returns true if network partition detection is enabled.
+ */
+ public boolean getEnableNetworkPartitionDetection();
+
+ /**
+ * Disables auto reconnect after being forced out of the distributed system
+ */
+ public void setDisableAutoReconnect(boolean newValue);
+
+ /**
+ * Returns true if auto reconnect is disabled
+ */
+ public boolean getDisableAutoReconnect();
+
+
+
+ /**
+ * Returns the member-timeout millisecond value used in failure-detection protocols
+ */
+ public int getMemberTimeout();
+
+ /**
+ * Set the millisecond value of the member-timeout used in failure-detection protocols. This
+ * timeout determines how long a member has to respond to a heartbeat request. The member is given
+ * three chances before being kicked out of the distributed system with a SystemConnectException.
+ */
+ public void setMemberTimeout(int value);
+
+ /**
+ * Returns the IP address to which the distributed system's server sockets are bound.
+ *
+ * @since GemFire 4.0
+ */
+ public String getBindAddress();
+
+ /**
+ * Sets the IP address to which the distributed system's server sockets are bound.
+ *
+ * @since GemFire 4.0
+ */
+ public void setBindAddress(String bindAddress);
+
+
+ /**
+ * Returns the IP address to which client/server server sockets are bound
+ */
+ public String getServerBindAddress();
+
+ /**
+ * Sets the IP address to which a server cache will bind when listening for client cache
+ * connections.
+ */
+ public void setServerBindAddress(String bindAddress);
+
+
+ /** Returns the remote command setting to use for remote administration */
+ public String getRemoteCommand();
+
+ /**
+ * Sets the remote command setting to use for remote administration. This attribute may be
+ * modified after this <code>DistributedSystemConfig</code> has been used to create an
+ * <codE>AdminDistributedSystem</code>.
+ */
+ public void setRemoteCommand(String command);
+
+ /** Returns the value of the "ssl-enabled" property. */
+ public boolean isSSLEnabled();
+
+ /** Sets the value of the "ssl-enabled" property. */
+ public void setSSLEnabled(boolean enabled);
+
+ /** Returns the value of the "ssl-protocols" property. */
+ public String getSSLProtocols();
+
+ /** Sets the value of the "ssl-protocols" property. */
+ public void setSSLProtocols(String protocols);
+
+ /** Returns the value of the "ssl-ciphers" property. */
+ public String getSSLCiphers();
+
+ /** Sets the value of the "ssl-ciphers" property. */
+ public void setSSLCiphers(String ciphers);
+
+ /** Returns the value of the "ssl-require-authentication" property. */
+ public boolean isSSLAuthenticationRequired();
+
+ /** Sets the value of the "ssl-require-authentication" property. */
+ public void setSSLAuthenticationRequired(boolean authRequired);
+
+ /** Returns the provider-specific properties for SSL. */
+ public Properties getSSLProperties();
+
+ /** Sets the provider-specific properties for SSL. */
+ public void setSSLProperties(Properties sslProperties);
+
+ /** Adds an SSL property */
+ public void addSSLProperty(String key, String value);
+
+ /** Removes an SSL property */
+ public void removeSSLProperty(String key);
+
+ /**
+ * Returns the name of the log file to which informational messages are written.
+ *
+ * @see org.apache.geode.i18n.LogWriterI18n
+ */
+ public String getLogFile();
+
+ /**
+ * Sets the name of the log file to which informational messages are written.
+ *
+ * @see org.apache.geode.i18n.LogWriterI18n
+ */
+ public void setLogFile(String logFile);
+
+ /**
+ * Returns the level at which informational messages are logged.
+ */
+ public String getLogLevel();
+
+ /**
+ * Sets the level at which information messages are logged.
+ */
+ public void setLogLevel(String logLevel);
+
+ /**
+ * Returns the log disk space limit in megabytes
+ */
+ public int getLogDiskSpaceLimit();
+
+ /**
+ * Sets the log disk space limit in megabytes
+ */
+ public void setLogDiskSpaceLimit(int limit);
+
+ /**
+ * Returns the log file size limit in megabytes
+ */
+ public int getLogFileSizeLimit();
+
+ /**
+ * Sets the log file size limit in megabytes
+ */
+ public void setLogFileSizeLimit(int limit);
+
+ /**
+ * Returns the refreshInterval in seconds used for auto-polling and updating
+ * AdminDistributedSystem constituents including SystemMember, CacheServer, SystemMemberCache and
+ * StatisticResource
+ *
+ * @since GemFire 6.0
+ */
+ public int getRefreshInterval();
+
+ /**
+ * Sets the refreshInterval in seconds
+ *
+ * @since GemFire 6.0
+ */
+ public void setRefreshInterval(int timeInSecs);
+
+ /**
+ * Returns an array of configurations for statically known <code>CacheServers</code>.
+ *
+ * @deprecated as of 5.7 use {@link #getCacheVmConfigs} instead.
+ */
+ @Deprecated
+ public CacheServerConfig[] getCacheServerConfigs();
+
+ /**
+ * Creates the configuration for a CacheServer
+ *
+ * @deprecated as of 5.7 use {@link #createCacheVmConfig} instead.
+ */
+ @Deprecated
+ public CacheServerConfig createCacheServerConfig();
+
+ /**
+ * Removes the configuration for a CacheServer
+ *
+ * @deprecated as of 5.7 use {@link #removeCacheVmConfig} instead.
+ */
+ @Deprecated
+ public void removeCacheServerConfig(CacheServerConfig managerConfig);
+
+ /**
+ * Returns an array of configurations for statically known {@link CacheVm}s.
+ *
+ * @since GemFire 5.7
+ */
+ public CacheVmConfig[] getCacheVmConfigs();
+
+ /**
+ * Creates the configuration for a {@link CacheVm}.
+ *
+ * @since GemFire 5.7
+ */
+ public CacheVmConfig createCacheVmConfig();
+
+ /**
+ * Removes the configuration for a {@link CacheVm}
+ *
+ * @since GemFire 5.7
+ */
+ public void removeCacheVmConfig(CacheVmConfig existing);
+
+ /**
+ * Returns configuration information about {@link DistributionLocator}s that are managed by an
+ * <code>AdminDistributedSystem</code>.
+ */
+ public DistributionLocatorConfig[] getDistributionLocatorConfigs();
+
+ /**
+ * Creates a new <code>DistributionLocatorConfig</code> for a distribution locator that is managed
+ * in this distributed system. The default locator config is set to not use multicast
+ */
+ public DistributionLocatorConfig createDistributionLocatorConfig();
+
+ /**
+ * Removes a <code>DistributionLocatorConfig</code> from the distributed system.
+ */
+ public void removeDistributionLocatorConfig(DistributionLocatorConfig config);
+
+ /** Registers listener for notification of changes in this config. */
+ public void addListener(ConfigListener listener);
+
+ /** Removes previously registered listener of this config. */
+ public void removeListener(ConfigListener listener);
+
+ /**
+ * Validates that this distributed system configuration is correct and consistent.
+ *
+ * @throws IllegalStateException If this config is not valid
+ * @throws AdminXmlException If the {@linkplain #getEntityConfigXMLFile entity config XML file} is
+ * not valid
+ */
+ public void validate();
+
+ /**
+ * Returns a copy of this <code>DistributedSystemConfig</code> object whose configuration can be
+ * modified. Note that this {@link DistributedSystemConfig.ConfigListener ConfigListener}s that
+ * are registered on this config object are not cloned.
+ *
+ * @since GemFire 4.0
+ */
+ public Object clone() throws CloneNotSupportedException;
+
+ ////////////////////// Inner Classes //////////////////////
+
+ /**
+ * A listener whose callback methods are invoked when this config changes.
+ */
+ public interface ConfigListener extends java.util.EventListener {
+
+ /** Invoked when this configurated is changed. */
+ public void configChanged(DistributedSystemConfig config);
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemHealthConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemHealthConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemHealthConfig.java
new file mode 100644
index 0000000..c308aa2
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributedSystemHealthConfig.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Provides configuration information relating to the health of an entire GemFire distributed
+ * system.
+ *
+ * <P>
+ *
+ * If any of the following criteria is true, then the distributed system is considered to be in
+ * {@link GemFireHealth#OKAY_HEALTH OKAY_HEALTH}.
+ *
+ * <UL>
+ *
+ * </UL>
+ *
+ * If any of the following criteria is true, then the distributed system is considered to be in
+ * {@link GemFireHealth#POOR_HEALTH POOR_HEALTH}.
+ *
+ * <UL>
+ *
+ * <LI>Too many application members {@linkplain #getMaxDepartedApplications unexpectedly leave} the
+ * distributed system.</LI>
+ *
+ * <LI>Too many application members {@linkplain #getMaxDepartedApplications unexpectedly leave} the
+ * distributed system.</LI>
+ *
+ * </UL>
+ *
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface DistributedSystemHealthConfig {
+
+ /**
+ * The default maximum number of application members that can unexceptedly leave a healthy the
+ * distributed system.
+ */
+ public static final long DEFAULT_MAX_DEPARTED_APPLICATIONS = 10;
+
+ /////////////////////// Instance Methods ///////////////////////
+
+ /**
+ * Returns the maximum number of application members that can unexceptedly leave a healthy the
+ * distributed system.
+ *
+ * @see #DEFAULT_MAX_DEPARTED_APPLICATIONS
+ */
+ public long getMaxDepartedApplications();
+
+ /**
+ * Sets the maximum number of application members that can unexceptedly leave a healthy the
+ * distributed system.
+ *
+ * @see #getMaxDepartedApplications
+ */
+ public void setMaxDepartedApplications(long maxDepartedApplications);
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocator.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocator.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocator.java
new file mode 100755
index 0000000..4595a52
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocator.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Represents a single distribution locator server, of which a distributed system may use zero or
+ * many. The distributed system will be configured to use either multicast discovery or locator
+ * service.
+ *
+ * @see DistributionLocatorConfig
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface DistributionLocator extends ManagedEntity {
+
+ /**
+ * Returns the identity name for this locator.
+ */
+ public String getId();
+
+ /**
+ * Returns the configuration object for this distribution locator.
+ *
+ * @since GemFire 4.0
+ */
+ public DistributionLocatorConfig getConfig();
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocatorConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocatorConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocatorConfig.java
new file mode 100644
index 0000000..64e39c5
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/DistributionLocatorConfig.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+import java.util.Properties;
+
+/**
+ * Describes the configuration of a {@link DistributionLocator} managed by the GemFire
+ * administration APIs.
+ *
+ * <P>
+ *
+ * A <code>DistributionLocatorConfig</code> can be modified using a number of mutator methods until
+ * the <code>DistributionLocator</code> configured by this object is {@linkplain ManagedEntity#start
+ * started}. After that, attempts to modify most attributes in the
+ * <code>DistributionLocatorConfig</code> will result in an {@link IllegalStateException} being
+ * thrown. If you wish to use the same <code>DistributionLocatorConfig</code> to configure another
+ * <code>DistributionLocator</code>s, a copy of the <code>DistributionLocatorConfig</code> object
+ * can be made by invoking the {@link Object#clone} method.
+ *
+ * @see AdminDistributedSystem#addDistributionLocator
+ * @see org.apache.geode.distributed.Locator
+ *
+ * @since GemFire 4.0
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface DistributionLocatorConfig extends ManagedEntityConfig {
+
+ /**
+ * Returns the port on which ths distribution locator listens for members to connect. There is no
+ * default locator port, so a non-default port must be specified.
+ */
+ public int getPort();
+
+ /**
+ * Sets the port on which the distribution locator listens for members to connect.
+ */
+ public void setPort(int port);
+
+ /**
+ * Returns the address to which the distribution locator's port is (or will be) bound. By default,
+ * the bind address is <code>null</code> meaning that the port will be bound to all network
+ * addresses on the host.
+ */
+ public String getBindAddress();
+
+ /**
+ * Sets the address to which the distribution locator's port is (or will be) bound.
+ */
+ public void setBindAddress(String bindAddress);
+
+ /**
+ * Sets the properties used to configure the locator's DistributedSystem.
+ *
+ * @since GemFire 5.0
+ */
+ public void setDistributedSystemProperties(Properties props);
+
+ /**
+ * Retrieves the properties used to configure the locator's DistributedSystem.
+ *
+ * @since GemFire 5.0
+ */
+ public Properties getDistributedSystemProperties();
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealth.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealth.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealth.java
new file mode 100644
index 0000000..b2b9f69
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealth.java
@@ -0,0 +1,209 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+import org.apache.geode.internal.Assert;
+import org.apache.geode.internal.i18n.LocalizedStrings;
+
+/**
+ * Provides information about the aggregate health of the members of a GemFire distributed system
+ * ("components"). The {@link #getHealth getHealth} method provides an indication of the overall
+ * health. Health is expressed as one of three levels: {@link #GOOD_HEALTH GOOD_HEALTH},
+ * {@link #OKAY_HEALTH OKAY_HEALTH}, and {@link #POOR_HEALTH POOR_HEALTH}. The {@link #getDiagnosis
+ * getDiagnosis} method provides a more detailed explanation of the cause of ill health.
+ *
+ * <P>
+ *
+ * The aggregate health of the GemFire component is evaluated
+ * {@linkplain GemFireHealthConfig#setHealthEvaluationInterval every so often} and if certain
+ * criteria are met, then the overall health of the component changes accordingly. If any of the
+ * components is in <code>OKAY_HEALTH</code>, then the overall health is <code>OKAY_HEALTH</code>.
+ * If any of the components is in <code>POOR_HEALTH</code>, then the overall health is
+ * <code>POOR_HEALTH</code>.
+ *
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface GemFireHealth {
+
+ /**
+ * An indicator that the GemFire components are healthy.
+ *
+ * @see #getHealth
+ */
+ public static final Health GOOD_HEALTH = new Health(Health.GOOD_STRING);
+
+ /**
+ * An indicator that one or more GemFire components is slightly unhealthy. The problem may or may
+ * not require configuration changes and may not necessarily lead to poorer component health.
+ *
+ * @see #getHealth
+ */
+ public static final Health OKAY_HEALTH = new Health(Health.OKAY_STRING);
+
+ /**
+ * An indicator that one or more GemFire components is unhealthy. While it may be possible for the
+ * components to recover on their own, it is likely that they will have to be restarted.
+ *
+ * @see #getHealth
+ */
+ public static final Health POOR_HEALTH = new Health(Health.POOR_STRING);
+
+ /////////////////////// Instance Methods ///////////////////////
+
+ /**
+ * Returns an indicator of the overall health of the GemFire components.
+ *
+ * @see #GOOD_HEALTH
+ * @see #OKAY_HEALTH
+ * @see #POOR_HEALTH
+ */
+ public Health getHealth();
+
+ /**
+ * Resets the overall health of the GemFire components to {@link #GOOD_HEALTH}. This operation
+ * should be invoked when the operator has determined that warnings about the components's health
+ * do not need to be regarded.
+ */
+ public void resetHealth();
+
+ /**
+ * Returns a message that provides a description of the cause of a component's ill health.
+ */
+ public String getDiagnosis();
+
+ /**
+ * Returns the configuration for determining the health of the distributed system itself.
+ */
+ public DistributedSystemHealthConfig getDistributedSystemHealthConfig();
+
+ /**
+ * Sets the configuration for determining the health of the distributed system itself.
+ */
+ public void setDistributedSystemHealthConfig(DistributedSystemHealthConfig config);
+
+ /**
+ * Returns the <code>GemFireHealthConfig</code> for GemFire components whose configurations are
+ * not overridden on a per-host basis. Note that changes made to the returned
+ * <code>GemFireHealthConfig</code> will not take effect until
+ * {@link #setDefaultGemFireHealthConfig} is invoked.
+ */
+ public GemFireHealthConfig getDefaultGemFireHealthConfig();
+
+ /**
+ * Sets the <code>GemFireHealthConfig</code> for GemFire components whose configurations are not
+ * overridden on a per-host basis.
+ *
+ * @throws IllegalArgumentException If <code>config</code> specifies the config for a host
+ */
+ public void setDefaultGemFireHealthConfig(GemFireHealthConfig config);
+
+ /**
+ * Returns the <code>GemFireHealthConfig</code> for GemFire components that reside on a given
+ * host. This configuration will override the {@linkplain #getDefaultGemFireHealthConfig default}
+ * configuration.
+ *
+ * @param hostName The {@linkplain java.net.InetAddress#getCanonicalHostName canonical} name of
+ * the host.
+ */
+ public GemFireHealthConfig getGemFireHealthConfig(String hostName);
+
+ /**
+ * Sets the <code>GemFireHealthConfig</code> for GemFire components that reside on a given host.
+ * This configuration will override the {@linkplain #getDefaultGemFireHealthConfig default}
+ * configuration. Note that changes made to the returned <code>GemFireHealthConfig</code> will not
+ * take effect until {@link #setDefaultGemFireHealthConfig} is invoked.
+ *
+ * @param hostName The {@linkplain java.net.InetAddress#getCanonicalHostName canonical} name of
+ * the host.
+ *
+ * @throws IllegalArgumentException If host <code>hostName</code> does not exist or if there are
+ * no GemFire components running on that host or if <code>config</code> does not configure
+ * host <code>hostName</code>.
+ */
+ public void setGemFireHealthConfig(String hostName, GemFireHealthConfig config);
+
+ /**
+ * Closes this health monitor and releases all resources associated with it.
+ */
+ public void close();
+
+ /**
+ * Returns whether or not this <code>GemFireHealth</code> is {@linkplain #close closed}.
+ */
+ public boolean isClosed();
+
+ ////////////////////// Inner Classes //////////////////////
+
+ /**
+ * An enumerated type for the health of GemFire.
+ */
+ public static class Health implements java.io.Serializable {
+ private static final long serialVersionUID = 3039539430412151801L;
+ /** The string for good health */
+ static final String GOOD_STRING = LocalizedStrings.GemFireHealth_GOOD.toLocalizedString();
+
+ /** The string for okay health */
+ static final String OKAY_STRING = LocalizedStrings.GemFireHealth_OKAY.toLocalizedString();
+
+ /** The string for poor health */
+ static final String POOR_STRING = LocalizedStrings.GemFireHealth_POOR.toLocalizedString();
+
+ //////////////////// Instance Fields ////////////////////
+
+ /** The string for this health */
+ private String healthString;
+
+ ///////////////////// Constructors //////////////////////
+
+ /**
+ * Creates a new <code>Health</code> with the given string
+ */
+ protected Health(String healthString) {
+ this.healthString = healthString;
+ }
+
+ //////////////////// Instance Methods ////////////////////
+
+ /**
+ * Returns the appropriate canonical instance of <code>Health</code>.
+ */
+ public Object readResolve() {
+ if (this.healthString.equals(GOOD_STRING)) {
+ return GemFireHealth.GOOD_HEALTH;
+
+ } else if (this.healthString.equals(OKAY_STRING)) {
+ return GemFireHealth.OKAY_HEALTH;
+
+ } else if (this.healthString.equals(POOR_STRING)) {
+ return GemFireHealth.POOR_HEALTH;
+
+ } else {
+ Assert.assertTrue(false, "Unknown healthString: " + this.healthString);
+ return null;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return this.healthString;
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/895fd144/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealthConfig.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealthConfig.java b/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealthConfig.java
new file mode 100644
index 0000000..c07cc77
--- /dev/null
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/api/GemFireHealthConfig.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.admin.api;
+
+/**
+ * Provides configuration information relating to all of the components of a GemFire distributed
+ * system.
+ *
+ *
+ * @since GemFire 3.5
+ * @deprecated as of 7.0 use the <code><a href=
+ * "{@docRoot}/org/apache/geode/management/package-summary.html">management</a></code>
+ * package instead
+ */
+public interface GemFireHealthConfig extends MemberHealthConfig, CacheHealthConfig {
+
+ /**
+ * The default number of seconds between assessments of the health of the GemFire components.
+ */
+ public static final int DEFAULT_HEALTH_EVALUATION_INTERVAL = 30;
+
+ ////////////////////// Instance Methods //////////////////////
+
+ /**
+ * Returns the name of the host to which this configuration applies. If this is the "default"
+ * configuration, then <code>null</code> is returned.
+ *
+ * @see GemFireHealth#getGemFireHealthConfig
+ */
+ public String getHostName();
+
+ /**
+ * Sets the number of seconds between assessments of the health of the GemFire components.
+ */
+ public void setHealthEvaluationInterval(int interval);
+
+ /**
+ * Returns the number of seconds between assessments of the health of the GemFire components.
+ */
+ public int getHealthEvaluationInterval();
+
+}