com.gemstone.gemfire.admin.jmx.AgentConfig Maven / Gradle / Ivy
Show all versions of gemfire-core Show documentation
/*
* Copyright (c) 2010-2015 Pivotal Software, Inc. All rights reserved.
*
* Licensed 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. See accompanying
* LICENSE file.
*/
package com.gemstone.gemfire.admin.jmx;
import com.gemstone.gemfire.admin.DistributedSystemConfig;
//import com.gemstone.gemfire.admin.internal.InetAddressUtil;
/**
* A configuration object for a JMX administration {@linkplain Agent
* agent} that is hosted by a GemFire application VM. A file named
* {@link #DEFAULT_PROPERTY_FILE "agent.properties"} can be used to
* override the default values of AgentConfig
attributes.
* The "gfAgentPropertyFile" {@linkplain System#getProperty(java.lang.String) system
* property} can be used to specify an agent properties file other
* than "agent.properties". System properties prefixed with
* {@linkplain #SYSTEM_PROPERTY_PREFIX "gemfire.agent."} can be used to
* override the values in the properties file. For instance
* "-Dgemfire.agent.http-port=8081" can be used to override the
* default port for the HTTP adapter. Configuration related to the
* distributed system that the JMX agent administers is inherited from
* and described in AgentConfig
's superinterface, {@link
* DistributedSystemConfig}.
*
*
*
* An AgentConfig
can be modified using a number of
* mutator methods until it is used to create an Agent
.
* After that, attempts to modify most attributes in the
* AgentConfig
will result in an {@link
* IllegalStateException} being thrown. If you wish to use the same
* AgentConfig
to configure multiple Agent
s,
* a copy of the AgentConfig
object can be made by
* invoking its {@link #clone} method.
*
*
*
* JMX Administation Agent Configuration Properties
*
*
* - {@linkplain #AUTO_CONNECT_NAME auto-connect}
* - Description: whether or not a JMX agent will
* automatically connect to the distributed system it is configured to
* administer.
* - {@linkplain #DEFAULT_AUTO_CONNECT Default}: false
*
*
* JMX Agent SSL Configuration Properties
*
*
*
* These parameters configure sockets that are created by the GemFire
* JMX Agent regardless of which adapters are enabled. These setting
* apply to all adapters. For example, if clients connect to the RMI
* adapter using SSL, then clients must also connect to the HTTP
* adapter using SSL (HTTPS). Note that these configuration
* attributes do not effect how the agent connects to the
* distributed system it administers, only how JMX clients connect to
* the agent.
*
*
* - {@linkplain #AGENT_SSL_ENABLED_NAME agent-ssl-enabled}
* - Description: whether or not connections to the JMX agent
* require SSL
*
* - {@linkplain #DEFAULT_AGENT_SSL_ENABLED Default}: false
*
*
*
* - {@linkplain #AGENT_SSL_PROTOCOLS_NAME agent-ssl-protocols}
* - Description: the SSL protocols to be used when connecting
* to the JMX agent
*
* - {@linkplain #DEFAULT_AGENT_SSL_PROTOCOLS Default}: any
*
*
*
* - {@linkplain #AGENT_SSL_CIPHERS_NAME agent-ssl-ciphers}
* - Description: the SSL ciphers to be used when connecting
* to the JMX agent
*
* - {@linkplain #DEFAULT_AGENT_SSL_CIPHERS Default}: any
*
*
*
* - {@linkplain #AGENT_SSL_REQUIRE_AUTHENTICATION_NAME agent-ssl-require-authentication}
* - Description: whether or not SSL connections to the RMI
* adapter require authentication
*
* - {@linkplain #DEFAULT_AGENT_SSL_REQUIRE_AUTHENTICATION Default}: true
*
*
*
* - {@linkplain #HTTP_SSL_REQUIRE_AUTHENTICATION_NAME http-ssl-require-authentication}
* - Description: whether or not SSL connections to the HTTP
* adapter require authentication
*
* - {@linkplain #DEFAULT_HTTP_SSL_REQUIRE_AUTHENTICATION Default}: false
*
*
* HTTP Adapter Configuration
*
*
* - {@linkplain #HTTP_ENABLED_NAME http-enabled}
* - Description: whether or not the HTTP adapter is
* enabled in the JMX agent.
* - {@linkplain #DEFAULT_HTTP_ENABLED Default}: true
*
*
*
* - {@linkplain #HTTP_PORT_NAME http-port}
* - Description: the port on which the HTTP adapter should
* listen for client connections.
*
* - {@linkplain #DEFAULT_HTTP_PORT Default}: 8080
*
*
*
* - {@linkplain #HTTP_BIND_ADDRESS_NAME http-bind-address}
* - Description: the machine name or IP address to which
* the HTTP listening socket should be bound. If this value is
* "localhost", then the socket will be bound to the loopback
* address (127.0.0.1) and the adapter will only be accessible via
* the URL
http://localhost:8080
.
* - {@linkplain #DEFAULT_HTTP_BIND_ADDRESS Default}: ""
* (all network addresses)
*
*
*
* - {@linkplain #HTTP_AUTHENTICATION_ENABLED_NAME http-authentication-enabled}
* - Description: Whether or not connections to the HTTP
* adapter should be authenticated with a user name and password.
*
* - {@linkplain #DEFAULT_HTTP_AUTHENTICATION_ENABLED Default}: false
*
*
*
* - {@linkplain #HTTP_AUTHENTICATION_USER_NAME http-authentication-user}
* - Description: the user name for authenticating secure
* communication.
*
* - {@linkplain #DEFAULT_HTTP_AUTHENTICATION_USER Default}: admin
*
*
*
* - {@linkplain #HTTP_AUTHENTICATION_PASSWORD_NAME http-authentication-password}
* - Description: the password for authenticating secure
* communication.
*
* - {@linkplain #DEFAULT_HTTP_AUTHENTICATION_PASSWORD Default}: password
*
*
* RMI Adapter Configuration Properties
*
*
* - {@linkplain #RMI_ENABLED_NAME rmi-enabled}
* - Description: whether or not the RMI JMX adapter is enabled
*
* - {@linkplain #DEFAULT_RMI_ENABLED Default}: true
*
*
*
* - {@linkplain #RMI_REGISTRY_ENABLED_NAME rmi-registry-enabled}
* - Description: whether or not the JMX agent should start
* an RMI registry. Alternatively, a registry outside of the JMX
* agent VM can be used.
*
* - {@linkplain #DEFAULT_RMI_REGISTRY_ENABLED Default}: true
*
*
*
* - {@linkplain #RMI_PORT_NAME rmi-port}
* - Description: the port of the RMI registry in which the
* JMX Agent should bind remote objects.
*
* - {@linkplain #DEFAULT_RMI_PORT Default}: 1099
*
*
*
* - {@linkplain #RMI_PORT_NAME rmi-server-port}
* - Description: the port to be used by the RMI Server started by
* JMX Agent.
*
* - {@linkplain #DEFAULT_RMI_SERVER_PORT Default}: 0
*
*
*
* - {@linkplain #RMI_BIND_ADDRESS_NAME rmi-bind-address}
* - Description: the bind address on which the RMI
* registry binds its sockets.
*
* - {@linkplain #DEFAULT_RMI_BIND_ADDRESS Default}: ""
* (all network addresses)
*
*
* AdventNet SNMP Adapter Configuration Properties
*
*
* - {@linkplain #SNMP_ENABLED_NAME snmp-enabled}
* - Description: whether or not the SNMP JMX adapter is
* enabled
*
* - {@linkplain #DEFAULT_SNMP_ENABLED Default}: false
*
*
*
* - {@linkplain #SNMP_BIND_ADDRESS_NAME snmp-bind-address}
* - Description: the host name to which sockets used by the
* SNMP adapter should be bound.
*
* - {@linkplain #DEFAULT_SNMP_BIND_ADDRESS Default}: the name of
* the local machine (not
localhost
)
*
*
*
* - {@linkplain #SNMP_DIRECTORY_NAME snmp-directory}
* - Description: the deployment directory for AdventNet
* SNMP Adaptor
*
* - {@linkplain #DEFAULT_SNMP_DIRECTORY Default}: ""
*
*
* JMX Agent Email Notification Properties (for statistics alerts)
*
*
* - {@linkplain #EMAIL_NOTIFICATIONS_ENABLED_NAME email-notification-enabled}
* - Description: Whether or not email notifications are enabled for statistics alerts.
*
* - {@linkplain #DEFAULT_EMAIL_NOTIFICATIONS_ENABLED Default}: false
*
*
*
* - {@linkplain #EMAIL_NOTIFICATIONS_FROM_NAME email-notification-from}
* - Description: Email address to be used to send email notifications.
*
* - {@linkplain #DEFAULT_EMAIL_FROM Default}: ""
*
*
*
* - {@linkplain #EMAIL_NOTIFICATIONS_HOST_NAME email-notification-host}
* - Description: The host name of the mail server to be used for email communication.
*
* - {@linkplain #DEFAULT_EMAIL_HOST Default}: ""
*
*
*
* - {@linkplain #EMAIL_NOTIFICATIONS_TO_LIST_NAME email-notification-to}
* - Description: Email address where the email notifications should be sent.
*
* - {@linkplain #DEFAULT_EMAIL_TO_LIST Default}: ""
*
*
*
* - {@linkplain #STATE_SAVE_FILE_NAME state-save-file}
* - Description: The name of the file to be used for saving agent state. The file
is stored in the same directory in which the agent.properties file is located
*
* - {@linkplain #DEFAULT_STATE_SAVE_FILE Default}: ""
*
*
*
* @author David Whitlock
* @since 4.0
* @deprecated as of 7.0 use the {@link com.gemstone.gemfire.management} package instead
*/
public interface AgentConfig extends DistributedSystemConfig {
/** The prefix for JMX Agent configuration system properties */
public static final String SYSTEM_PROPERTY_PREFIX =
"gemfire.agent.";
/** The default "propertyFile" value */
public static final String DEFAULT_PROPERTY_FILE = "agent.properties";
/** The default name for file that has "agent state saved serialized" */
public static final String DEFAULT_STATE_SAVE_FILE = "agent.ser";
/** The name of the "auto-connect" property */
public static final String AUTO_CONNECT_NAME = "auto-connect";
/** The default value of the "auto-connect" property */
public static final boolean DEFAULT_AUTO_CONNECT = true;
// -------------------------------------------------------------------------
// HttpAdaptor properties...
// -------------------------------------------------------------------------
/** The name of the "httpEnabled" property */
public static final String HTTP_ENABLED_NAME = "http-enabled";
/** The default value of the "httpEnabled" property */
public static final boolean DEFAULT_HTTP_ENABLED = true;
/** The name of the "httpBindAddress" property */
public static final String HTTP_BIND_ADDRESS_NAME = "http-bind-address";
/** The default value of the "httpBindAddress" property */
public static final String DEFAULT_HTTP_BIND_ADDRESS = "";
/** The name of the "httpPort" property */
public static final String HTTP_PORT_NAME = "http-port";
/** The default value of the "httpPort" property (8080) */
public static final int DEFAULT_HTTP_PORT = 8080;
/** The minimum httpPort (0) */
public static final int MIN_HTTP_PORT = 0;
/** The maximum httpPort (65535) */
public static final int MAX_HTTP_PORT = 65535;
/** The name of the "state-save-file-name" property */
public static final String STATE_SAVE_FILE_NAME =
"state-save-file";
/** The name of the "http-authentication-enabled" property */
public static final String HTTP_AUTHENTICATION_ENABLED_NAME =
"http-authentication-enabled";
/** The default value of the "http-authentication-enabled" property
* */
public static final boolean DEFAULT_HTTP_AUTHENTICATION_ENABLED = false;
/** The name of the "http-authentication-user" property */
public static final String HTTP_AUTHENTICATION_USER_NAME =
"http-authentication-user";
/** The default value of the "http-authentication-user" property */
public static final String DEFAULT_HTTP_AUTHENTICATION_USER = "admin";
/** The name of the "http-authentication-password" property */
public static final String HTTP_AUTHENTICATION_PASSWORD_NAME =
"http-authentication-password";
/** The default value of the "http-authentication-password" property
* */
public static final String DEFAULT_HTTP_AUTHENTICATION_PASSWORD =
"password";
/** The name of the "email-notification-enabled" property */
public static final String EMAIL_NOTIFICATIONS_ENABLED_NAME =
"email-notification-enabled";
/** The default value of the "email-notification-enabled" property
* */
public static final boolean DEFAULT_EMAIL_NOTIFICATIONS_ENABLED = false;
/** The name of the "email-notification-from" property */
public static final String EMAIL_NOTIFICATIONS_FROM_NAME =
"email-notification-from";
/** The default value of the "email-notification-from" property
* */
public static final String DEFAULT_EMAIL_FROM = "";
/** The name of the "email-notification-host" property */
public static final String EMAIL_NOTIFICATIONS_HOST_NAME =
"email-notification-host";
/** The default value of the "email-notification-host" property
* */
public static final String DEFAULT_EMAIL_HOST = "";
/** The name of the "email-notification-to" property */
public static final String EMAIL_NOTIFICATIONS_TO_LIST_NAME =
"email-notification-to";
/** The default value of the "email-notification-to" property
* */
public static final String DEFAULT_EMAIL_TO_LIST = "";
// -------------------------------------------------------------------------
// RMIConnectorServer properties...
// -------------------------------------------------------------------------
/** The name of the "rmiEnabled" property */
public static final String RMI_ENABLED_NAME = "rmi-enabled";
/** The default value of the {@linkplain #RMI_ENABLED_NAME rmi-enabled} property */
public static final boolean DEFAULT_RMI_ENABLED = true;
/** The name of the "rmi-registry-enabled" property */
public static final String RMI_REGISTRY_ENABLED_NAME =
"rmi-registry-enabled";
/** The default value of the {@linkplain #RMI_REGISTRY_ENABLED_NAME rmi-registry-enabled} property*/
public static final boolean DEFAULT_RMI_REGISTRY_ENABLED = true;
/** The name of the "rmiBindAddress" property */
public static final String RMI_BIND_ADDRESS_NAME = "rmi-bind-address";
/** The default value of the {@linkplain #RMI_BIND_ADDRESS_NAME rmi-bind-address} property */
public static final String DEFAULT_RMI_BIND_ADDRESS = "";
/** The name of the "rmiPort" property */
public static final String RMI_PORT_NAME = "rmi-port";
/** The default value of the {@linkplain #RMI_PORT_NAME rmi-port} property (1099) */
public static final int DEFAULT_RMI_PORT = 1099;
/**
* The name of the "rmi-server-port" property
*
* @since 6.5
*/
public static final String RMI_SERVER_PORT_NAME = "rmi-server-port";
/**
* The default value of the {@linkplain #RMI_SERVER_PORT_NAME rmi-server-port}
* property (0)
*
* @since 6.5
*/
public static final int DEFAULT_RMI_SERVER_PORT = 0;
/**
* The minimum value for {@linkplain #RMI_PORT_NAME rmi-port} or
* {@linkplain #RMI_SERVER_PORT_NAME rmi-server-port} (0)
*/
public static final int MIN_RMI_PORT = 0;
/**
* The maximum value for {@linkplain #RMI_PORT_NAME rmi-port} or
* {@linkplain #RMI_SERVER_PORT_NAME rmi-server-port} (65535)
*/
public static final int MAX_RMI_PORT = 65535;
// -------------------------------------------------------------------------
// AdventNetSNMPAdaptor properties...
// -------------------------------------------------------------------------
/** The name of the "snmpEnabled" property */
public static final String SNMP_ENABLED_NAME = "snmp-enabled";
/** The default value of the "snmpEnabled" property */
public static final boolean DEFAULT_SNMP_ENABLED = false;
/** The name of the "snmpBindAddress" property */
public static final String SNMP_BIND_ADDRESS_NAME = "snmp-bind-address";
/** The default value of the "snmpBindAddress" property */
public static final String DEFAULT_SNMP_BIND_ADDRESS = "";
/** The name of the "snmpDirectory" property */
public static final String SNMP_DIRECTORY_NAME = "snmp-directory";
/** The default value of the "snmpDirectory" property */
public static final String DEFAULT_SNMP_DIRECTORY = "";
// -------------------------------------------------------------------------
// JMX SSL properties...
// -------------------------------------------------------------------------
/** The name of the "agent-ssl-enabled" property */
public static final String AGENT_SSL_ENABLED_NAME = "agent-ssl-enabled";
/** The default value of the "agent-ssl-enabled" property */
public static final boolean DEFAULT_AGENT_SSL_ENABLED = false;
/** The name of the "agent-ssl-protocols" property */
public static final String AGENT_SSL_PROTOCOLS_NAME = "agent-ssl-protocols";
/** The default value of the "agent-ssl-protocols" property */
public static final String DEFAULT_AGENT_SSL_PROTOCOLS = "any";
/** The name of the "agent-ssl-ciphers" property */
public static final String AGENT_SSL_CIPHERS_NAME = "agent-ssl-ciphers";
/** The default value of the "agent-ssl-ciphers" property */
public static final String DEFAULT_AGENT_SSL_CIPHERS = "any";
/** The name of the "agent-ssl-require-authentication" property */
public static final String AGENT_SSL_REQUIRE_AUTHENTICATION_NAME =
"agent-ssl-require-authentication";
/** The default value of the "agent-ssl-require-authentication"
* property */
public static final boolean DEFAULT_AGENT_SSL_REQUIRE_AUTHENTICATION = true;
/** The name of the "http-ssl-require-authentication" property */
public static final String HTTP_SSL_REQUIRE_AUTHENTICATION_NAME =
"http-ssl-require-authentication";
/** The default value of the "http-ssl-require-authentication"
* property */
public static final boolean DEFAULT_HTTP_SSL_REQUIRE_AUTHENTICATION = false;
////////////////////// Instance Methods //////////////////////
/**
* Returns whether or not the JMX agent will automatically connect
* to the distributed system it administers.
*
* See description above.
*/
public boolean getAutoConnect();
/**
* Sets whether or not the JMX agent will automatically connect
* to the distributed system it administers.
*
* See description above.
*/
public void setAutoConnect(boolean autoConnect);
/**
* Returns whether or not the HTTP adapter is enabled.
*
* See description above.
*/
public boolean isHttpEnabled();
/**
* Sets whether or not the HTTP adapter is enabled.
*
* See description above.
*/
public void setHttpEnabled(boolean httpEnabled);
/**
* Returns the port of the HTTP adapter.
*
* See description above.
*/
public int getHttpPort();
/**
* Sets the port of the HTTP adapter.
*
* See description above.
*/
public void setHttpPort(int port);
/**
* Returns the bind address to which the HTTP adapter's listening
* socket is bound.
*
* See description above.
*/
public String getHttpBindAddress();
/**
* Sets the bind address to which the HTTP adapter's listening
* socket is bound.
*
* See description above.
*/
public void setHttpBindAddress(String address);
/**
* Returns whether or not the HTTP adapter authenticates
* connections.
*
* See description
* above.
*/
public boolean isHttpAuthEnabled();
/**
* Sets whether or not the HTTP adapter authenticates connections.
*
* See description
* above.
*/
public void setHttpAuthEnabled(boolean enabled);
/**
* Returns the user name for HTTP adapter authentication.
*
* See description
* above.
*/
public String getHttpAuthUser();
/**
* Sets the user name for HTTP adapter authentication.
*
* See description
* above.
*/
public void setHttpAuthUser(String user);
/**
* Returns the password for HTTP adapter authentication.
*
* See description
* above.
*/
public String getHttpAuthPassword();
/**
* Sets the password for HTTP adapter authentication.
*
* See description
* above.
*/
public void setHttpAuthPassword(String password);
/**
* Returns whether or not the RMI adapter is enabled.
*
* See description above.
*/
public boolean isRmiEnabled();
/**
* Sets whether or not the RMI adapter is enabled.
*
* See description above.
*/
public void setRmiEnabled(boolean rmiEnabled);
/**
* Returns whether or not the agent hosts an RMI registry.
*
* See description above.
*/
public boolean isRmiRegistryEnabled();
/**
* Sets whether or not the agent hosts an RMI registry.
*
* See description above.
*/
public void setRmiRegistryEnabled(boolean enabled);
/**
* Returns the port of the RMI adapter.
*
* See description above.
*/
public int getRmiPort();
/**
* Sets the port of the RMI adapter.
*
* See description above.
*/
public void setRmiPort(int port);
/**
* Returns the port of the RMI Connector Server.
*
* See description above.
*
* @return the value set for rmi-server-port
* @since 6.5
*/
public int getRmiServerPort();
/**
* Sets the port of the RMI Connector Server.
*
* See description above.
*
* @param port rmi-server-port to set.
* @since 6.5
*/
public void setRmiServerPort(int port);
/**
* Returns the bind address to which the RMI adapter's listening
* sockets are bound.
*
* See description above.
*/
public String getRmiBindAddress();
/**
* Sets the bind address to which the RMI adapter's listening
* sockets are bound.
*
* See description above.
*/
public void setRmiBindAddress(String address);
/**
* Returns whether or not the SNMP adapter is enabled.
*
* See description above.
*/
public boolean isSnmpEnabled();
/**
* Sets whether or not the SNMP adapter is enabled.
*
* See description above.
*/
public void setSnmpEnabled(boolean enabled);
/**
* Returns the bind address used with the SNMP adapter.
*
* See description above.
*/
public String getSnmpBindAddress();
/**
* Sets the bind address used with the SNMP adapter.
*
* See description above.
*/
public void setSnmpBindAddress(String address);
/**
* Returns the directory for the SNMP adapater.
*
* See description above.
*/
public String getSnmpDirectory();
/**
* Sets the directory for the SNMP adapater.
*
* See description above.
*/
public void setSnmpDirectory(String snmpDirectory);
/**
* Returns whether or not SSL is required for the JMX agent.
*
* See description above.
*/
public boolean isAgentSSLEnabled();
/**
* Sets whether or not SSL is required for the JMX agent.
*
* See description above.
*/
public void setAgentSSLEnabled(boolean enabled);
/**
* Returns the SSL protocols used when connecting to the JMX agent.
*
* See description above.
*/
public String getAgentSSLProtocols();
/**
* Sets the SSL protocols used when connecting to the JMX agent.
*
* See description above.
*/
public void setAgentSSLProtocols(String protocols);
/**
* Returns the SSL ciphers used when connecting to the JMX agent.
*
* See description above.
*/
public String getAgentSSLCiphers();
/**
* Sets the SSL ciphers used when connecting to the JMX agent.
*
* See description above.
*/
public void setAgentSSLCiphers(String ciphers);
/**
* Returns whether SSL authentication is used when connecting to the
* RMI connector.
*
* See description above.
*/
public boolean isAgentSSLRequireAuth();
/**
* Sets whether SSL authentication is used when connecting to the
* RMI connector.
*
* See description above.
*/
public void setAgentSSLRequireAuth(boolean require);
/**
* Returns whether SSL authentication is used when connecting to the
* HTTP connector.
*
* See description above.
*/
public boolean isHttpSSLRequireAuth();
/**
* Sets whether SSL authentication is used when connecting to the
* HTTP connector.
*
* See description above.
*/
public void setHttpSSLRequireAuth(boolean require);
/**
* Returns whether Emails for Notifications is enabled
*
* See description above.
*/
public boolean isEmailNotificationEnabled();
/**
* Sets whether Emails for Notifications is enabled
*
* See description above.
*/
public void setEmailNotificationEnabled(boolean enabled);
/**
* Returns the EmailID from whom notification emails are sent.
*
* See description above.
*/
public String getEmailNotificationFrom();
/**
* Sets the EmailID from whom notification emails are sent.
*
* See description above.
*/
public void setEmailNotificationFrom(String emailID);
/**
* Returns the Host Name using which notification emails are sent.
*
* See description above.
*/
public String getEmailNotificationHost();
/**
* Sets the Host Name from whom notification emails are sent.
*
* See description above.
*/
public void setEmailNotificationHost(String hostName);
/**
* Returns the comma separated EmailID list to whom notification
* emails are sent.
*
* See description above.
*/
public String getEmailNotificationToList();
/**
* Sets the EmailID from whom notification emails are sent as a
* comma separated list.
*
* See description above.
*/
public void setEmailNotificationToList(String emailIDs);
/**
* Returns the name of the file to be used for saving agent state
*
* See description above.
*/
public String getStateSaveFile();
/**
* Sets the name of the file to be used for saving agent state
*
* See description above.
*/
public void setStateSaveFile(String file);
/**
* Returns an AgentConfig
with the same configuration
* as this AgentConfig
.
*/
public Object clone() throws CloneNotSupportedException;
}