Return-Path: X-Original-To: apmail-geode-commits-archive@minotaur.apache.org Delivered-To: apmail-geode-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E721C18611 for ; Thu, 25 Feb 2016 20:27:17 +0000 (UTC) Received: (qmail 60570 invoked by uid 500); 25 Feb 2016 20:27:17 -0000 Delivered-To: apmail-geode-commits-archive@geode.apache.org Received: (qmail 60537 invoked by uid 500); 25 Feb 2016 20:27:17 -0000 Mailing-List: contact commits-help@geode.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.incubator.apache.org Delivered-To: mailing list commits@geode.incubator.apache.org Received: (qmail 60528 invoked by uid 99); 25 Feb 2016 20:27:17 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Feb 2016 20:27:17 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 318441A00D1 for ; Thu, 25 Feb 2016 20:27:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.539 X-Spam-Level: X-Spam-Status: No, score=-3.539 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.329, T_FILL_THIS_FORM_SHORT=0.01] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id Al5a-DSOfxPm for ; Thu, 25 Feb 2016 20:27:00 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 5DA215FBFA for ; Thu, 25 Feb 2016 20:26:51 +0000 (UTC) Received: (qmail 56229 invoked by uid 99); 25 Feb 2016 20:26:50 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Feb 2016 20:26:50 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 32CC6E8F1B; Thu, 25 Feb 2016 20:26:50 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jensdeppe@apache.org To: commits@geode.incubator.apache.org Date: Thu, 25 Feb 2016 20:27:35 -0000 Message-Id: <70f90e4a08ca4bbcb4bc28d46717228f@git.apache.org> In-Reply-To: <73e7879c18f143a3b34041911bfd1983@git.apache.org> References: <73e7879c18f143a3b34041911bfd1983@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [47/50] [abbrv] incubator-geode git commit: Merge branch 'develop' into feature/GEODE-17 http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/5c01d5f4/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java ---------------------------------------------------------------------- diff --cc geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java index 0000000,3af8c15..be139b0 mode 000000,100644..100644 --- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java +++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java @@@ -1,0 -1,3778 +1,3807 @@@ + /* + * 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 com.gemstone.gemfire.distributed.internal; + + import com.gemstone.gemfire.distributed.DistributedSystem; + import com.gemstone.gemfire.internal.Config; + import com.gemstone.gemfire.internal.ConfigSource; + import com.gemstone.gemfire.internal.logging.InternalLogWriter; + import com.gemstone.gemfire.internal.logging.LogConfig; + import com.gemstone.gemfire.internal.tcp.Connection; + import com.gemstone.gemfire.memcached.GemFireMemcachedServer; + + import java.io.File; + import java.lang.reflect.Field; + import java.lang.reflect.Method; + import java.net.InetAddress; + import java.util.*; + + /** + * Provides accessor (and in some cases mutator) methods for the + * various GemFire distribution configuration properties. The + * interface also provides constants for the names of properties and + * their default values. + * + *

+ * + * Decriptions of these properties can be found here. + * + * @see com.gemstone.gemfire.internal.Config + * + * @author David Whitlock + * @author Darrel Schneider + * + * @since 2.1 + */ + public interface DistributionConfig extends Config, LogConfig { + + //////////////////// Instance Methods //////////////////// + + /** + * Returns the value of the "name" property + * Gets the member's name. + * A name is optional and by default empty. + * If set it must be unique in the ds. + * When set its used by tools to help identify the member. + *

The default value is: {@link #DEFAULT_NAME}. + * @return the system's name. + */ + @ConfigAttributeGetter(name=NAME_NAME) + public String getName(); + + /** + * Sets the member's name. + *

The name can not be changed while the system is running. + * @throws IllegalArgumentException if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error + * when writing to the system's configuration file. + */ + @ConfigAttributeSetter(name=NAME_NAME) + public void setName(String value); + + /** The name of the "name" property */ + @ConfigAttribute(type=String.class) + public static final String NAME_NAME = "name"; + + + + /** + * The default system name. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_NAME = ""; + + /** + * Returns the value of the "mcast-port" + * property + */ + @ConfigAttributeGetter(name=MCAST_PORT_NAME) + public int getMcastPort(); + /** + * Sets the value of the "mcast-port" + * property + */ + @ConfigAttributeSetter(name=MCAST_PORT_NAME) + public void setMcastPort(int value); + + + /** The default value of the "mcastPort" property */ + public static final int DEFAULT_MCAST_PORT = 0; + /** + * The minimum mcastPort. + *

Actual value of this constant is 0. + */ + public static final int MIN_MCAST_PORT = 0; + /** + * The maximum mcastPort. + *

Actual value of this constant is 65535. + */ + public static final int MAX_MCAST_PORT = 65535; + + /** The name of the "mcastPort" property */ + @ConfigAttribute(type=Integer.class, min=MIN_MCAST_PORT, max=MAX_MCAST_PORT) + public static final String MCAST_PORT_NAME = "mcast-port"; + + /** + * Returns the value of the "tcp-port" + * property + */ + @ConfigAttributeGetter(name=TCP_PORT_NAME) + public int getTcpPort(); + /** + * Sets the value of the "tcp-port" + * property + */ + @ConfigAttributeSetter(name=TCP_PORT_NAME) + public void setTcpPort(int value); + + /** The default value of the "tcpPort" property */ + public static final int DEFAULT_TCP_PORT = 0; + /** + * The minimum tcpPort. + *

Actual value of this constant is 0. + */ + public static final int MIN_TCP_PORT = 0; + /** + * The maximum tcpPort. + *

Actual value of this constant is 65535. + */ + public static final int MAX_TCP_PORT = 65535; + /** The name of the "tcpPort" property */ + @ConfigAttribute(type=Integer.class, min=MIN_TCP_PORT, max=MAX_TCP_PORT) + public static final String TCP_PORT_NAME = "tcp-port"; + + /** + * Returns the value of the "mcast-address" + * property + */ + @ConfigAttributeGetter(name=MCAST_ADDRESS_NAME) + public InetAddress getMcastAddress(); + /** + * Sets the value of the "mcast-address" + * property + */ + @ConfigAttributeSetter(name=MCAST_ADDRESS_NAME) + public void setMcastAddress(InetAddress value); + + + /** The name of the "mcastAddress" property */ + @ConfigAttribute(type=InetAddress.class) + public static final String MCAST_ADDRESS_NAME = "mcast-address"; + + /** The default value of the "mcastAddress" property. + * Current value is 239.192.81.1 + */ + public static final InetAddress DEFAULT_MCAST_ADDRESS = AbstractDistributionConfig._getDefaultMcastAddress(); + + /** + * Returns the value of the "mcast-ttl" + * property + */ + @ConfigAttributeGetter(name=MCAST_TTL_NAME) + public int getMcastTtl(); + /** + * Sets the value of the "mcast-ttl" + * property + */ + @ConfigAttributeSetter(name=MCAST_TTL_NAME) + public void setMcastTtl(int value); + + /** The default value of the "mcastTtl" property */ + public static final int DEFAULT_MCAST_TTL = 32; + /** + * The minimum mcastTtl. + *

Actual value of this constant is 0. + */ + public static final int MIN_MCAST_TTL = 0; + /** + * The maximum mcastTtl. + *

Actual value of this constant is 255. + */ + public static final int MAX_MCAST_TTL = 255; + + /** The name of the "mcastTtl" property */ + @ConfigAttribute(type=Integer.class, min=MIN_MCAST_TTL, max=MAX_MCAST_TTL) + public static final String MCAST_TTL_NAME = "mcast-ttl"; + + /** + * Returns the value of the "bind-address" + * property + */ + @ConfigAttributeGetter(name=BIND_ADDRESS_NAME) + public String getBindAddress(); + /** + * Sets the value of the "bind-address" + * property + */ + @ConfigAttributeSetter(name=BIND_ADDRESS_NAME) + public void setBindAddress(String value); + + /** The name of the "bindAddress" property */ + @ConfigAttribute(type=String.class) + public static final String BIND_ADDRESS_NAME = "bind-address"; + + /** The default value of the "bindAddress" property. + * Current value is an empty string "" + */ + public static final String DEFAULT_BIND_ADDRESS = ""; + + /** + * Returns the value of the "server-bind-address" + * property + */ + @ConfigAttributeGetter(name=SERVER_BIND_ADDRESS_NAME) + public String getServerBindAddress(); + /** + * Sets the value of the "server-bind-address" + * property + */ + @ConfigAttributeSetter(name=SERVER_BIND_ADDRESS_NAME) + public void setServerBindAddress(String value); + + /** The name of the "serverBindAddress" property */ + @ConfigAttribute(type=String.class) + public static final String SERVER_BIND_ADDRESS_NAME = "server-bind-address"; + + /** The default value of the "serverBindAddress" property. + * Current value is an empty string "" + */ + public static final String DEFAULT_SERVER_BIND_ADDRESS = ""; + + /** + * Returns the value of the "locators" property + */ + @ConfigAttributeGetter(name=LOCATORS_NAME) + public String getLocators(); + /** + * Sets the system's locator list. + * A locator list is optional and by default empty. + * Its used to by the system to locator other system nodes + * and to publish itself so it can be located by others. + * @param value must be of the form hostName[portNum]. + * Multiple elements are allowed and must be seperated by a comma. + * @throws IllegalArgumentException if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error + * when writing to the system's configuration file. + */ + @ConfigAttributeSetter(name=LOCATORS_NAME) + public void setLocators(String value); + + /** The name of the "locators" property */ + @ConfigAttribute(type=String.class) + public static final String LOCATORS_NAME = "locators"; + + /** The default value of the "locators" property */ + public static final String DEFAULT_LOCATORS = ""; + + /** + * Locator wait time - how long to wait for a locator to start before giving up & + * throwing a GemFireConfigException + */ + @ConfigAttribute(type=Integer.class) + public static final String LOCATOR_WAIT_TIME_NAME = "locator-wait-time"; + public static final int DEFAULT_LOCATOR_WAIT_TIME = 0; + @ConfigAttributeGetter(name=LOCATOR_WAIT_TIME_NAME) + public int getLocatorWaitTime(); + @ConfigAttributeSetter(name=LOCATOR_WAIT_TIME_NAME) + public void setLocatorWaitTime(int seconds); + + + /** + * returns the value of the "start-locator" + * property + */ + @ConfigAttributeGetter(name=START_LOCATOR_NAME) + public String getStartLocator(); + /** + * Sets the start-locator property. This is a string in the form + * bindAddress[port] and, if set, tells the distributed system to start + * a locator prior to connecting + * @param value must be of the form hostName[portNum] + */ + @ConfigAttributeSetter(name=START_LOCATOR_NAME) + public void setStartLocator(String value); + + /** + * The name of the "start-locator" property + */ + @ConfigAttribute(type=String.class) + public static final String START_LOCATOR_NAME = "start-locator"; + /** + * The default value of the "start-locator" property + */ + public static final String DEFAULT_START_LOCATOR = ""; + + /** + * Returns the value of the "deploy-working-dir" property + */ + @ConfigAttributeGetter(name=DEPLOY_WORKING_DIR) + public File getDeployWorkingDir(); + + /** + * Sets the system's deploy working directory. + * @throws IllegalArgumentException if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error + * when writing to the system's configuration file. + */ + @ConfigAttributeSetter(name=DEPLOY_WORKING_DIR) + public void setDeployWorkingDir(File value); + + /** + * The name of the "deploy-working-dir" property. + */ + @ConfigAttribute(type=File.class) + public static final String DEPLOY_WORKING_DIR = "deploy-working-dir"; + + /** + * Default will be the current working directory as determined by + * System.getProperty("user.dir"). + */ + public static final File DEFAULT_DEPLOY_WORKING_DIR = new File("."); + + /** + * Returns the value of the "user-command-packages" property + */ + @ConfigAttributeGetter(name=USER_COMMAND_PACKAGES) + public String getUserCommandPackages(); + + /** + * Sets the system's user command path. + * @throws IllegalArgumentException if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error + * when writing to the system's configuration file. + */ + @ConfigAttributeSetter(name=USER_COMMAND_PACKAGES) + public void setUserCommandPackages(String value); + + /** + * The name of the "user-command-packages" property. + */ + @ConfigAttribute(type=String.class) + public static final String USER_COMMAND_PACKAGES = "user-command-packages"; + + /** + * The default value of the "user-command-packages" property + */ + public static final String DEFAULT_USER_COMMAND_PACKAGES = ""; + + /** + * Returns the value of the "log-file" property + * + * @return null if logging information goes to standard + * out + */ + @ConfigAttributeGetter(name=LOG_FILE_NAME) + public File getLogFile(); + /** + * Sets the system's log file. + *

Non-absolute log files are relative to the system directory. + *

The system log file can not be changed while the system is running. + * @throws IllegalArgumentException if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error + * when writing to the system's configuration file. + */ + @ConfigAttributeSetter(name=LOG_FILE_NAME) + public void setLogFile(File value); + + /** The name of the "logFile" property */ + @ConfigAttribute(type=File.class) + public static final String LOG_FILE_NAME = "log-file"; + + /** + * The default log file. + *

Actual value of this constant is "" which directs + * log message to standard output. + */ + public static final File DEFAULT_LOG_FILE = new File(""); + + /** + * Returns the value of the "log-level" property + * + * @see com.gemstone.gemfire.internal.logging.LogWriterImpl + */ + @ConfigAttributeGetter(name=LOG_LEVEL_NAME) + public int getLogLevel(); + /** + * Sets the value of the "log-level" property + * + * @see com.gemstone.gemfire.internal.logging.LogWriterImpl + */ + @ConfigAttributeSetter(name=LOG_LEVEL_NAME) + public void setLogLevel(int value); + + /** + * The default log level. + *

Actual value of this constant is {@link InternalLogWriter#CONFIG_LEVEL}. + */ + public static final int DEFAULT_LOG_LEVEL = InternalLogWriter.CONFIG_LEVEL; + /** + * The minimum log level. + *

Actual value of this constant is {@link InternalLogWriter#ALL_LEVEL}. + */ + public static final int MIN_LOG_LEVEL = InternalLogWriter.ALL_LEVEL; + /** + * The maximum log level. + *

Actual value of this constant is {@link InternalLogWriter#NONE_LEVEL}. + */ + public static final int MAX_LOG_LEVEL = InternalLogWriter.NONE_LEVEL; + + /** The name of the "logLevel" property */ + // type is String because the config file contains "config", "debug", "fine" etc, not a code, but the setter/getter accepts int + @ConfigAttribute(type=String.class) + public static final String LOG_LEVEL_NAME = "log-level"; + + /** + * Returns the value of the "statistic-sampling-enabled" + * property + */ + @ConfigAttributeGetter(name=STATISTIC_SAMPLING_ENABLED_NAME) + public boolean getStatisticSamplingEnabled(); + /** + * Sets StatisticSamplingEnabled + */ + @ConfigAttributeSetter(name=STATISTIC_SAMPLING_ENABLED_NAME) + public void setStatisticSamplingEnabled(boolean newValue); + + /** The name of the "statisticSamplingEnabled" property */ + @ConfigAttribute(type=Boolean.class) + public static final String STATISTIC_SAMPLING_ENABLED_NAME = + "statistic-sampling-enabled"; + + /** The default value of the "statisticSamplingEnabled" property */ + public static final boolean DEFAULT_STATISTIC_SAMPLING_ENABLED = true; + + /** + * Returns the value of the "statistic-sample-rate" + * property + */ + @ConfigAttributeGetter(name=STATISTIC_SAMPLE_RATE_NAME) + public int getStatisticSampleRate(); + /** + * Sets the value of the "statistic-sample-rate" + * property + */ + @ConfigAttributeSetter(name=STATISTIC_SAMPLE_RATE_NAME) + public void setStatisticSampleRate(int value); + + /** + * The default statistic sample rate. + *

Actual value of this constant is 1000 milliseconds. + */ + public static final int DEFAULT_STATISTIC_SAMPLE_RATE = 1000; + /** + * The minimum statistic sample rate. + *

Actual value of this constant is 100 milliseconds. + */ + public static final int MIN_STATISTIC_SAMPLE_RATE = 100; + /** + * The maximum statistic sample rate. + *

Actual value of this constant is 60000 milliseconds. + */ + public static final int MAX_STATISTIC_SAMPLE_RATE = 60000; + + /** The name of the "statisticSampleRate" property */ + @ConfigAttribute(type=Integer.class, min=MIN_STATISTIC_SAMPLE_RATE, max=MAX_STATISTIC_SAMPLE_RATE) + public static final String STATISTIC_SAMPLE_RATE_NAME = + "statistic-sample-rate"; + + /** + * Returns the value of the "statistic-archive-file" property. + * + * @return null if no file was specified + */ + @ConfigAttributeGetter(name=STATISTIC_ARCHIVE_FILE_NAME) + public File getStatisticArchiveFile(); + /** + * Sets the value of the "statistic-archive-file" property. + */ + @ConfigAttributeSetter(name=STATISTIC_ARCHIVE_FILE_NAME) + public void setStatisticArchiveFile(File value); + + /** The name of the "statisticArchiveFile" property */ + @ConfigAttribute(type=File.class) + public static final String STATISTIC_ARCHIVE_FILE_NAME = + "statistic-archive-file"; + + /** + * The default statistic archive file. + *

Actual value of this constant is "" which + * causes no archive file to be created. + */ + public static final File DEFAULT_STATISTIC_ARCHIVE_FILE = new File(""); // fix for bug 29786 + + + /** + * Returns the value of the "cache-xml-file" + * property + */ + @ConfigAttributeGetter(name=CACHE_XML_FILE_NAME) + public File getCacheXmlFile(); + /** + * Sets the value of the "cache-xml-file" + * property + */ + @ConfigAttributeSetter(name=CACHE_XML_FILE_NAME) + public void setCacheXmlFile(File value); + + /** The name of the "cacheXmlFile" property */ + @ConfigAttribute(type=File.class) + public static final String CACHE_XML_FILE_NAME = "cache-xml-file"; + + /** The default value of the "cacheXmlFile" property */ + public static final File DEFAULT_CACHE_XML_FILE = new File("cache.xml"); + + /** + * Returns the value of the "ack-wait-threshold" + * property + */ + @ConfigAttributeGetter(name=ACK_WAIT_THRESHOLD_NAME) + public int getAckWaitThreshold(); + + /** + * Sets the value of the "ack-wait-threshold" + * property + * Setting this value too low will cause spurious alerts. + */ + @ConfigAttributeSetter(name=ACK_WAIT_THRESHOLD_NAME) + public void setAckWaitThreshold(int newThreshold); + + /** + * The default AckWaitThreshold. + *

Actual value of this constant is 15 seconds. + */ + public static final int DEFAULT_ACK_WAIT_THRESHOLD = 15; + /** + * The minimum AckWaitThreshold. + *

Actual value of this constant is 1 second. + */ + public static final int MIN_ACK_WAIT_THRESHOLD = 1; + /** + * The maximum AckWaitThreshold. + *

Actual value of this constant is MAX_INT seconds. + */ + public static final int MAX_ACK_WAIT_THRESHOLD = Integer.MAX_VALUE; + /** The name of the "ackWaitThreshold" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ACK_WAIT_THRESHOLD) + public static final String ACK_WAIT_THRESHOLD_NAME = "ack-wait-threshold"; + + + /** + * Returns the value of the "ack-severe-alert-threshold" + * property + */ + @ConfigAttributeGetter(name=ACK_SEVERE_ALERT_THRESHOLD_NAME) + public int getAckSevereAlertThreshold(); + + /** + * Sets the value of the "ack-severe-alert-threshold" + * property + * Setting this value too low will cause spurious forced disconnects. + */ + @ConfigAttributeSetter(name=ACK_SEVERE_ALERT_THRESHOLD_NAME) + public void setAckSevereAlertThreshold(int newThreshold); + + /** + * The default ackSevereAlertThreshold. + *

Actual value of this constant is 0 seconds, which + * turns off shunning. + */ + public static final int DEFAULT_ACK_SEVERE_ALERT_THRESHOLD = 0; + /** + * The minimum ackSevereAlertThreshold. + *

Actual value of this constant is 0 second, + * which turns off shunning. + */ + public static final int MIN_ACK_SEVERE_ALERT_THRESHOLD = 0; + /** + * The maximum ackSevereAlertThreshold. + *

Actual value of this constant is MAX_INT seconds. + */ + public static final int MAX_ACK_SEVERE_ALERT_THRESHOLD = Integer.MAX_VALUE; + /** The name of the "ackSevereAlertThreshold" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ACK_SEVERE_ALERT_THRESHOLD) + public static final String ACK_SEVERE_ALERT_THRESHOLD_NAME = "ack-severe-alert-threshold"; + + /** + * Returns the value of the "archive-file-size-limit" + * property + */ + @ConfigAttributeGetter(name=ARCHIVE_FILE_SIZE_LIMIT_NAME) + public int getArchiveFileSizeLimit(); + /** + * Sets the value of the "archive-file-size-limit" + * property + */ + @ConfigAttributeSetter(name=ARCHIVE_FILE_SIZE_LIMIT_NAME) + public void setArchiveFileSizeLimit(int value); + + /** + * The default statistic archive file size limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int DEFAULT_ARCHIVE_FILE_SIZE_LIMIT = 0; + /** + * The minimum statistic archive file size limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int MIN_ARCHIVE_FILE_SIZE_LIMIT = 0; + /** + * The maximum statistic archive file size limit. + *

Actual value of this constant is 1000000 megabytes. + */ + public static final int MAX_ARCHIVE_FILE_SIZE_LIMIT = 1000000; + + /** The name of the "ArchiveFileSizeLimit" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ARCHIVE_FILE_SIZE_LIMIT, max=MAX_ARCHIVE_FILE_SIZE_LIMIT) + public static final String ARCHIVE_FILE_SIZE_LIMIT_NAME = + "archive-file-size-limit"; + /** + * Returns the value of the "archive-disk-space-limit" + * property + */ + @ConfigAttributeGetter(name=ARCHIVE_DISK_SPACE_LIMIT_NAME) + public int getArchiveDiskSpaceLimit(); + /** + * Sets the value of the "archive-disk-space-limit" + * property + */ + @ConfigAttributeSetter(name=ARCHIVE_DISK_SPACE_LIMIT_NAME) + public void setArchiveDiskSpaceLimit(int value); + + /** + * The default archive disk space limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int DEFAULT_ARCHIVE_DISK_SPACE_LIMIT = 0; + /** + * The minimum archive disk space limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int MIN_ARCHIVE_DISK_SPACE_LIMIT = 0; + /** + * The maximum archive disk space limit. + *

Actual value of this constant is 1000000 megabytes. + */ + public static final int MAX_ARCHIVE_DISK_SPACE_LIMIT = 1000000; + + /** The name of the "ArchiveDiskSpaceLimit" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ARCHIVE_DISK_SPACE_LIMIT, max=MAX_ARCHIVE_DISK_SPACE_LIMIT) + public static final String ARCHIVE_DISK_SPACE_LIMIT_NAME = + "archive-disk-space-limit"; + /** + * Returns the value of the "log-file-size-limit" + * property + */ + @ConfigAttributeGetter(name=LOG_FILE_SIZE_LIMIT_NAME) + public int getLogFileSizeLimit(); + /** + * Sets the value of the "log-file-size-limit" + * property + */ + @ConfigAttributeSetter(name=LOG_FILE_SIZE_LIMIT_NAME) + public void setLogFileSizeLimit(int value); + + /** + * The default log file size limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int DEFAULT_LOG_FILE_SIZE_LIMIT = 0; + /** + * The minimum log file size limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int MIN_LOG_FILE_SIZE_LIMIT = 0; + /** + * The maximum log file size limit. + *

Actual value of this constant is 1000000 megabytes. + */ + public static final int MAX_LOG_FILE_SIZE_LIMIT = 1000000; + + /** The name of the "LogFileSizeLimit" property */ + @ConfigAttribute(type=Integer.class, min=MIN_LOG_FILE_SIZE_LIMIT, max=MAX_LOG_FILE_SIZE_LIMIT) + public static final String LOG_FILE_SIZE_LIMIT_NAME = + "log-file-size-limit"; + + /** + * Returns the value of the "log-disk-space-limit" + * property + */ + @ConfigAttributeGetter(name=LOG_DISK_SPACE_LIMIT_NAME) + public int getLogDiskSpaceLimit(); + /** + * Sets the value of the "log-disk-space-limit" + * property + */ + @ConfigAttributeSetter(name=LOG_DISK_SPACE_LIMIT_NAME) + public void setLogDiskSpaceLimit(int value); + + /** + * The default log disk space limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int DEFAULT_LOG_DISK_SPACE_LIMIT = 0; + /** + * The minimum log disk space limit. + *

Actual value of this constant is 0 megabytes. + */ + public static final int MIN_LOG_DISK_SPACE_LIMIT = 0; + /** + * The maximum log disk space limit. + *

Actual value of this constant is 1000000 megabytes. + */ + public static final int MAX_LOG_DISK_SPACE_LIMIT = 1000000; + + /** The name of the "LogDiskSpaceLimit" property */ + @ConfigAttribute(type=Integer.class, min=MIN_LOG_DISK_SPACE_LIMIT, max=MAX_LOG_DISK_SPACE_LIMIT) + public static final String LOG_DISK_SPACE_LIMIT_NAME = + "log-disk-space-limit"; + + /** + * Returns the value of the "ssl-enabled" + * property. + * @deprecated as of 8.0 use {@link #getClusterSSLEnabled} instead. + */ + @ConfigAttributeGetter(name=SSL_ENABLED_NAME) + public boolean getSSLEnabled(); + + /** + * The default ssl-enabled state. + *

Actual value of this constant is false. + * @deprecated as of 8.0 use {@link #DEFAULT_CLUSTER_SSL_ENABLED} instead. + */ + public static final boolean DEFAULT_SSL_ENABLED = false; + + /** The name of the "SSLEnabled" property + * @deprecated as of 8.0 use {@link #CLUSTER_SSL_ENABLED_NAME} instead. + */ + @ConfigAttribute(type=Boolean.class) + public static final String SSL_ENABLED_NAME = + "ssl-enabled"; + + /** + * Sets the value of the "ssl-enabled" + * property. + * @deprecated as of 8.0 use {@link #setClusterSSLEnabled} instead. + */ + @ConfigAttributeSetter(name=SSL_ENABLED_NAME) + public void setSSLEnabled( boolean enabled ); + + /** + * Returns the value of the "ssl-protocols" + * property. + * @deprecated as of 8.0 use {@link #getClusterSSLProtocols} instead. + */ + @ConfigAttributeGetter(name=SSL_PROTOCOLS_NAME) + public String getSSLProtocols( ); + + /** + * Sets the value of the "ssl-protocols" + * property. + * @deprecated as of 8.0 use {@link #setClusterSSLProtocols} instead. + */ + @ConfigAttributeSetter(name=SSL_PROTOCOLS_NAME) + public void setSSLProtocols( String protocols ); + + /** + * The default ssl-protocols value. + *

Actual value of this constant is any. + * @deprecated as of 8.0 use {@link #DEFAULT_CLUSTER_SSL_PROTOCOLS} instead. + */ + public static final String DEFAULT_SSL_PROTOCOLS = "any"; + /** The name of the "SSLProtocols" property + * @deprecated as of 8.0 use {@link #CLUSTER_SSL_PROTOCOLS_NAME} instead. + */ + @ConfigAttribute(type=String.class) + public static final String SSL_PROTOCOLS_NAME = + "ssl-protocols"; + + /** + * Returns the value of the "ssl-ciphers" + * property. + * @deprecated as of 8.0 use {@link #getClusterSSLCiphers} instead. + */ + @ConfigAttributeGetter(name=SSL_CIPHERS_NAME) + public String getSSLCiphers( ); + + /** + * Sets the value of the "ssl-ciphers" + * property. + * @deprecated as of 8.0 use {@link #setClusterSSLCiphers} instead. + */ + @ConfigAttributeSetter(name=SSL_CIPHERS_NAME) + public void setSSLCiphers( String ciphers ); + + /** + * The default ssl-ciphers value. + *

Actual value of this constant is any. + * @deprecated as of 8.0 use {@link #DEFAULT_CLUSTER_SSL_CIPHERS} instead. + */ + public static final String DEFAULT_SSL_CIPHERS = "any"; + /** The name of the "SSLCiphers" property + * @deprecated as of 8.0 use {@link #CLUSTER_SSL_CIPHERS_NAME} instead. + */ + @ConfigAttribute(type=String.class) + public static final String SSL_CIPHERS_NAME = + "ssl-ciphers"; + + /** + * Returns the value of the "ssl-require-authentication" + * property. + * @deprecated as of 8.0 use {@link #getClusterSSLRequireAuthentication} instead. + */ + @ConfigAttributeGetter(name=SSL_REQUIRE_AUTHENTICATION_NAME) + public boolean getSSLRequireAuthentication( ); + + /** + * Sets the value of the "ssl-require-authentication" + * property. + * @deprecated as of 8.0 use {@link #setClusterSSLRequireAuthentication} instead. + */ + @ConfigAttributeSetter(name=SSL_REQUIRE_AUTHENTICATION_NAME) + public void setSSLRequireAuthentication( boolean enabled ); + + /** + * The default ssl-require-authentication value. + *

Actual value of this constant is true. + * @deprecated as of 8.0 use {@link #DEFAULT_CLUSTER_SSL_REQUIRE_AUTHENTICATION} instead. + */ + public static final boolean DEFAULT_SSL_REQUIRE_AUTHENTICATION = true; + /** The name of the "SSLRequireAuthentication" property + * @deprecated as of 8.0 use {@link #CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME} instead. + */ + @ConfigAttribute(type=Boolean.class) + public static final String SSL_REQUIRE_AUTHENTICATION_NAME = + "ssl-require-authentication"; + + /** + * Returns the value of the "cluster-ssl-enabled" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_ENABLED_NAME) + public boolean getClusterSSLEnabled(); + + /** + * The default cluster-ssl-enabled state. + *

Actual value of this constant is false. + */ + public static final boolean DEFAULT_CLUSTER_SSL_ENABLED = false; + /** The name of the "ClusterSSLEnabled" property */ + @ConfigAttribute(type=Boolean.class) + public static final String CLUSTER_SSL_ENABLED_NAME = + "cluster-ssl-enabled"; + + /** + * Sets the value of the "cluster-ssl-enabled" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_ENABLED_NAME) + public void setClusterSSLEnabled( boolean enabled ); + + /** + * Returns the value of the "cluster-ssl-protocols" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_PROTOCOLS_NAME) + public String getClusterSSLProtocols( ); + + /** + * Sets the value of the "cluster-ssl-protocols" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_PROTOCOLS_NAME) + public void setClusterSSLProtocols( String protocols ); + + /** + * The default cluster-ssl-protocols value. + *

Actual value of this constant is any. + */ + public static final String DEFAULT_CLUSTER_SSL_PROTOCOLS = "any"; + /** The name of the "ClusterSSLProtocols" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_PROTOCOLS_NAME = + "cluster-ssl-protocols"; + + /** + * Returns the value of the "cluster-ssl-ciphers" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_CIPHERS_NAME) + public String getClusterSSLCiphers( ); + + /** + * Sets the value of the "cluster-ssl-ciphers" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_CIPHERS_NAME) + public void setClusterSSLCiphers( String ciphers ); + + /** + * The default cluster-ssl-ciphers value. + *

Actual value of this constant is any. + */ + public static final String DEFAULT_CLUSTER_SSL_CIPHERS = "any"; + /** The name of the "ClusterSSLCiphers" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_CIPHERS_NAME = + "cluster-ssl-ciphers"; + + /** + * Returns the value of the "cluster-ssl-require-authentication" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME) + public boolean getClusterSSLRequireAuthentication( ); + + /** + * Sets the value of the "cluster-ssl-require-authentication" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME) + public void setClusterSSLRequireAuthentication( boolean enabled ); + + /** + * The default cluster-ssl-require-authentication value. + *

Actual value of this constant is true. + */ + public static final boolean DEFAULT_CLUSTER_SSL_REQUIRE_AUTHENTICATION = true; + /** The name of the "ClusterSSLRequireAuthentication" property */ + @ConfigAttribute(type=Boolean.class) + public static final String CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME = + "cluster-ssl-require-authentication"; + + + /** + * Returns the value of the "cluster-ssl-keystore" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_NAME) + public String getClusterSSLKeyStore( ); + + /** + * Sets the value of the "cluster-ssl-keystore" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_NAME) + public void setClusterSSLKeyStore( String keyStore); + + /** + * The default cluster-ssl-keystore value. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_CLUSTER_SSL_KEYSTORE = ""; + + /** The name of the "ClusterSSLKeyStore" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_KEYSTORE_NAME = "cluster-ssl-keystore"; + + /** + * Returns the value of the "cluster-ssl-keystore-type" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_TYPE_NAME) + public String getClusterSSLKeyStoreType( ); + + /** + * Sets the value of the "cluster-ssl-keystore-type" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_TYPE_NAME) + public void setClusterSSLKeyStoreType( String keyStoreType); + + /** + * The default cluster-ssl-keystore-type value. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_CLUSTER_SSL_KEYSTORE_TYPE = ""; + + /** The name of the "ClusterSSLKeyStoreType" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_KEYSTORE_TYPE_NAME = "cluster-ssl-keystore-type"; + + /** + * Returns the value of the "cluster-ssl-keystore-password" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_PASSWORD_NAME) + public String getClusterSSLKeyStorePassword( ); + + /** + * Sets the value of the "cluster-ssl-keystore-password" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_PASSWORD_NAME) + public void setClusterSSLKeyStorePassword( String keyStorePassword); + + /** + * The default cluster-ssl-keystore-password value. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_CLUSTER_SSL_KEYSTORE_PASSWORD = ""; + + /** The name of the "ClusterSSLKeyStorePassword" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_KEYSTORE_PASSWORD_NAME = "cluster-ssl-keystore-password"; + + /** + * Returns the value of the "cluster-ssl-truststore" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_TRUSTSTORE_NAME) + public String getClusterSSLTrustStore( ); + + /** + * Sets the value of the "cluster-ssl-truststore" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_TRUSTSTORE_NAME) + public void setClusterSSLTrustStore( String trustStore); + + /** + * The default cluster-ssl-truststore value. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_CLUSTER_SSL_TRUSTSTORE = ""; + + /** The name of the "ClusterSSLTrustStore" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_TRUSTSTORE_NAME = "cluster-ssl-truststore"; + + /** + * Returns the value of the "cluster-ssl-truststore-password" + * property. + */ + @ConfigAttributeGetter(name=CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME) + public String getClusterSSLTrustStorePassword( ); + + /** + * Sets the value of the "cluster-ssl-truststore-password" + * property. + */ + @ConfigAttributeSetter(name=CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME) + public void setClusterSSLTrustStorePassword( String trusStorePassword); + /** + * The default cluster-ssl-truststore-password value. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_CLUSTER_SSL_TRUSTSTORE_PASSWORD = ""; + + /** The name of the "ClusterSSLKeyStorePassword" property */ + @ConfigAttribute(type=String.class) + public static final String CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME = "cluster-ssl-truststore-password"; + + + /** The name of an internal property that specifies a {@link + * com.gemstone.gemfire.i18n.LogWriterI18n} instance to log to. + * Set this property with put(), not with setProperty() + * + * @since 4.0 */ + public static final String LOG_WRITER_NAME = "log-writer"; + + /** The name of an internal property that specifies a + * a DistributionConfigImpl that the locator is passing + * in to a ds connect. + * Set this property with put(), not with setProperty() + * + * @since 7.0 */ + public static final String DS_CONFIG_NAME = "ds-config"; + + /** + * The name of an internal property that specifies whether + * the distributed system is reconnecting after a forced- + * disconnect. + * @since 8.1 + */ + public static final String DS_RECONNECTING_NAME = "ds-reconnecting"; + + /** + * The name of an internal property that specifies the + * quorum checker for the system that was forcibly disconnected. + * This should be used if the DS_RECONNECTING_NAME property + * is used. + */ + public static final String DS_QUORUM_CHECKER_NAME = "ds-quorum-checker"; + + /** + * The name of an internal property that specifies a {@link + * com.gemstone.gemfire.LogWriter} instance to log security messages to. Set + * this property with put(), not with setProperty() + * + * @since 5.5 + */ + public static final String SECURITY_LOG_WRITER_NAME = "security-log-writer"; + + /** The name of an internal property that specifies a + * FileOutputStream associated with the internal property + * LOG_WRITER_NAME. If this property is set, the + * FileOutputStream will be closed when the distributed + * system disconnects. Set this property with put(), not + * with setProperty() + * @since 5.0 + */ + public static final String LOG_OUTPUTSTREAM_NAME = "log-output-stream"; + + /** + * The name of an internal property that specifies a FileOutputStream + * associated with the internal property SECURITY_LOG_WRITER_NAME. If this + * property is set, the FileOutputStream will be closed when the distributed + * system disconnects. Set this property with put(), not with setProperty() + * + * @since 5.5 + */ + public static final String SECURITY_LOG_OUTPUTSTREAM_NAME = "security-log-output-stream"; + + /** + * Returns the value of the "socket-lease-time" + * property + */ + @ConfigAttributeGetter(name=SOCKET_LEASE_TIME_NAME) + public int getSocketLeaseTime(); + /** + * Sets the value of the "socket-lease-time" + * property + */ + @ConfigAttributeSetter(name=SOCKET_LEASE_TIME_NAME) + public void setSocketLeaseTime(int value); + + + + /** The default value of the "socketLeaseTime" property */ + public static final int DEFAULT_SOCKET_LEASE_TIME = 60000; + /** + * The minimum socketLeaseTime. + *

Actual value of this constant is 0. + */ + public static final int MIN_SOCKET_LEASE_TIME = 0; + /** + * The maximum socketLeaseTime. + *

Actual value of this constant is 600000. + */ + public static final int MAX_SOCKET_LEASE_TIME = 600000; + + /** The name of the "socketLeaseTime" property */ + @ConfigAttribute(type=Integer.class, min=MIN_SOCKET_LEASE_TIME, max=MAX_SOCKET_LEASE_TIME) + public static final String SOCKET_LEASE_TIME_NAME = "socket-lease-time"; + + /** + * Returns the value of the "socket-buffer-size" + * property + */ + @ConfigAttributeGetter(name=SOCKET_BUFFER_SIZE_NAME) + public int getSocketBufferSize(); + /** + * Sets the value of the "socket-buffer-size" + * property + */ + @ConfigAttributeSetter(name=SOCKET_BUFFER_SIZE_NAME) + public void setSocketBufferSize(int value); + + + /** The default value of the "socketBufferSize" property */ + public static final int DEFAULT_SOCKET_BUFFER_SIZE = 32768; + /** + * The minimum socketBufferSize. + *

Actual value of this constant is 1024. + */ + public static final int MIN_SOCKET_BUFFER_SIZE = 1024; + /** + * The maximum socketBufferSize. + *

Actual value of this constant is 20000000. + */ + public static final int MAX_SOCKET_BUFFER_SIZE = Connection.MAX_MSG_SIZE; + + public static final boolean VALIDATE = Boolean.getBoolean("gemfire.validateMessageSize"); + public static final int VALIDATE_CEILING = Integer.getInteger("gemfire.validateMessageSizeCeiling", 8 * 1024 * 1024).intValue(); + + /** The name of the "socketBufferSize" property */ + @ConfigAttribute(type=Integer.class, min=MIN_SOCKET_BUFFER_SIZE, max=MAX_SOCKET_BUFFER_SIZE) + public static final String SOCKET_BUFFER_SIZE_NAME = "socket-buffer-size"; + + + /** + * Get the value of the + * "mcast-send-buffer-size" + * property + */ + @ConfigAttributeGetter(name=MCAST_SEND_BUFFER_SIZE_NAME) + public int getMcastSendBufferSize(); + + /** + * Set the value of the + * "mcast-send-buffer-size" + * property + */ + @ConfigAttributeSetter(name=MCAST_SEND_BUFFER_SIZE_NAME) + public void setMcastSendBufferSize(int value); + + + /** + * The default value of the corresponding property + */ + public static final int DEFAULT_MCAST_SEND_BUFFER_SIZE = 65535; + + + /** + * The minimum size of the buffer, in bytes. + *

Actual value of this constant is 2048. + */ + public static final int MIN_MCAST_SEND_BUFFER_SIZE = 2048; + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_MCAST_SEND_BUFFER_SIZE) + public static final String MCAST_SEND_BUFFER_SIZE_NAME = "mcast-send-buffer-size"; + + /** + * Get the value of the + * "mcast-recv-buffer-size" + * property + */ + @ConfigAttributeGetter(name=MCAST_RECV_BUFFER_SIZE_NAME) + public int getMcastRecvBufferSize(); + + /** + * Set the value of the + * "mcast-recv-buffer-size" + * property + */ + @ConfigAttributeSetter(name=MCAST_RECV_BUFFER_SIZE_NAME) + public void setMcastRecvBufferSize(int value); + + + /** + * The default value of the corresponding property + */ + public static final int DEFAULT_MCAST_RECV_BUFFER_SIZE = 1048576; + + /** + * The minimum size of the buffer, in bytes. + *

Actual value of this constant is 2048. + */ + public static final int MIN_MCAST_RECV_BUFFER_SIZE = 2048; + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_MCAST_RECV_BUFFER_SIZE) + public static final String MCAST_RECV_BUFFER_SIZE_NAME = "mcast-recv-buffer-size"; + + + /** + * Get the value of the + * "mcast-flow-control" + * property. + */ + @ConfigAttributeGetter(name=MCAST_FLOW_CONTROL_NAME) + public FlowControlParams getMcastFlowControl(); + + /** + * Set the value of the + * "mcast-flow-control" + * property + */ + @ConfigAttributeSetter(name=MCAST_FLOW_CONTROL_NAME) + public void setMcastFlowControl(FlowControlParams values); + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=FlowControlParams.class) + public static final String MCAST_FLOW_CONTROL_NAME = "mcast-flow-control"; + + /** + * The default value of the corresponding property + */ + public static final FlowControlParams DEFAULT_MCAST_FLOW_CONTROL + = new FlowControlParams(1048576, (float)0.25, 5000); + + /** + * The minimum byteAllowance for the mcast-flow-control setting of + * 100000. + */ + public static final int MIN_FC_BYTE_ALLOWANCE = 10000; + + /** + * The minimum rechargeThreshold for the mcast-flow-control setting of + * 0.1 + */ + public static final float MIN_FC_RECHARGE_THRESHOLD = (float)0.1; + + /** + * The maximum rechargeThreshold for the mcast-flow-control setting of + * 0.5 + */ + public static final float MAX_FC_RECHARGE_THRESHOLD = (float)0.5; + + /** + * The minimum rechargeBlockMs for the mcast-flow-control setting of + * 500 + */ + public static final int MIN_FC_RECHARGE_BLOCK_MS = 500; + + /** + * The maximum rechargeBlockMs for the mcast-flow-control setting of + * 60000 + */ + public static final int MAX_FC_RECHARGE_BLOCK_MS = 60000; + + /** + * Get the value of the + * "udp-fragment-size" + * property. + */ + @ConfigAttributeGetter(name=UDP_FRAGMENT_SIZE_NAME) + public int getUdpFragmentSize(); + + /** + * Set the value of the + * "udp-fragment-size" + * property + */ + @ConfigAttributeSetter(name=UDP_FRAGMENT_SIZE_NAME) + public void setUdpFragmentSize(int value); + + /** + * The default value of the corresponding property + */ + public static final int DEFAULT_UDP_FRAGMENT_SIZE = 60000; + + /** The minimum allowed udp-fragment-size setting of 1000 + */ + public static final int MIN_UDP_FRAGMENT_SIZE = 1000; + + /** The maximum allowed udp-fragment-size setting of 60000 + */ + public static final int MAX_UDP_FRAGMENT_SIZE = 60000; + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_UDP_FRAGMENT_SIZE, max=MAX_UDP_FRAGMENT_SIZE) + public static final String UDP_FRAGMENT_SIZE_NAME = "udp-fragment-size"; + + + + + /** + * Get the value of the + * "udp-send-buffer-size" + * property + */ + @ConfigAttributeGetter(name=UDP_SEND_BUFFER_SIZE_NAME) + public int getUdpSendBufferSize(); + + /** + * Set the value of the + * "udp-send-buffer-size" + * property + */ + @ConfigAttributeSetter(name=UDP_SEND_BUFFER_SIZE_NAME) + public void setUdpSendBufferSize(int value); + + /** + * The default value of the corresponding property + */ + public static final int DEFAULT_UDP_SEND_BUFFER_SIZE = 65535; + + /** + * The minimum size of the buffer, in bytes. + *

Actual value of this constant is 2048. + */ + public static final int MIN_UDP_SEND_BUFFER_SIZE = 2048; + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_UDP_SEND_BUFFER_SIZE) + public static final String UDP_SEND_BUFFER_SIZE_NAME = "udp-send-buffer-size"; + + /** + * Get the value of the + * "udp-recv-buffer-size" + * property + */ + @ConfigAttributeGetter(name=UDP_RECV_BUFFER_SIZE_NAME) + public int getUdpRecvBufferSize(); + + /** + * Set the value of the + * "udp-recv-buffer-size" + * property + */ + @ConfigAttributeSetter(name=UDP_RECV_BUFFER_SIZE_NAME) + public void setUdpRecvBufferSize(int value); + + /** + * The default value of the unicast receive buffer size property + */ + public static final int DEFAULT_UDP_RECV_BUFFER_SIZE = 1048576; + + /** + * The default size of the unicast receive buffer property if tcp/ip sockets are + * enabled and multicast is disabled + */ + public static final int DEFAULT_UDP_RECV_BUFFER_SIZE_REDUCED = 65535; + + /** + * The minimum size of the buffer, in bytes. + *

Actual value of this constant is 2048. + */ + public static final int MIN_UDP_RECV_BUFFER_SIZE = 2048; + + + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_UDP_RECV_BUFFER_SIZE) + public static final String UDP_RECV_BUFFER_SIZE_NAME = "udp-recv-buffer-size"; + + /** + * Returns the value of the "disable-tcp" + * property + */ + @ConfigAttributeGetter(name=DISABLE_TCP_NAME) + public boolean getDisableTcp(); + /** + * Sets the value of the "disable-tcp" + * property. + */ + @ConfigAttributeSetter(name=DISABLE_TCP_NAME) + public void setDisableTcp(boolean newValue); + + /** The name of the corresponding property */ + @ConfigAttribute(type=Boolean.class) + public static final String DISABLE_TCP_NAME = "disable-tcp"; + + /** The default value of the corresponding property */ + public static final boolean DEFAULT_DISABLE_TCP = false; + + + /** + * Turns on timing statistics for the distributed system + */ + @ConfigAttributeSetter(name=ENABLE_TIME_STATISTICS_NAME) + public void setEnableTimeStatistics(boolean newValue); + + /** + * Returns the value of enable-time-statistics + * property + */ + @ConfigAttributeGetter(name=ENABLE_TIME_STATISTICS_NAME) + public boolean getEnableTimeStatistics(); + + /** the name of the corresponding property */ + @ConfigAttribute(type=Boolean.class) + public static final String ENABLE_TIME_STATISTICS_NAME = "enable-time-statistics"; + + /** The default value of the corresponding property */ + public static final boolean DEFAULT_ENABLE_TIME_STATISTICS = false; + + + /** + * Sets the value for + use-shared-configuration + */ + @ConfigAttributeSetter(name=USE_CLUSTER_CONFIGURATION_NAME) + public void setUseSharedConfiguration(boolean newValue); + + /** + * Returns the value of use-cluster-configuration + * property + */ + @ConfigAttributeGetter(name=USE_CLUSTER_CONFIGURATION_NAME) + public boolean getUseSharedConfiguration(); + + /** the name of the corresponding property */ + @ConfigAttribute(type=Boolean.class) + public static final String USE_CLUSTER_CONFIGURATION_NAME = "use-cluster-configuration"; + + /** The default value of the corresponding property */ + public static final boolean DEFAULT_USE_CLUSTER_CONFIGURATION = true; + + /** + * Sets the value for + enable-cluster-configuration + */ + @ConfigAttributeSetter(name=ENABLE_CLUSTER_CONFIGURATION_NAME) + public void setEnableClusterConfiguration(boolean newValue); + + /** + * Returns the value of enable-cluster-configuration + * property + */ + @ConfigAttributeGetter(name=ENABLE_CLUSTER_CONFIGURATION_NAME) + public boolean getEnableClusterConfiguration(); + + /** the name of the corresponding property */ + @ConfigAttribute(type=Boolean.class) + public static final String ENABLE_CLUSTER_CONFIGURATION_NAME = "enable-cluster-configuration"; + /** The default value of the corresponding property */ + public static final boolean DEFAULT_ENABLE_CLUSTER_CONFIGURATION = true; + + @ConfigAttribute(type=Boolean.class) + public static final String LOAD_CLUSTER_CONFIG_FROM_DIR_NAME = "load-cluster-configuration-from-dir"; + public static final boolean DEFAULT_LOAD_CLUSTER_CONFIG_FROM_DIR = false; + + /** + * Returns the value of + * cluster-configuration-dir + * property + */ + @ConfigAttributeGetter(name=LOAD_CLUSTER_CONFIG_FROM_DIR_NAME) + public boolean getLoadClusterConfigFromDir(); + + /** + * Sets the value of + * cluster-configuration-dir + * property + */ + @ConfigAttributeSetter(name=LOAD_CLUSTER_CONFIG_FROM_DIR_NAME) + public void setLoadClusterConfigFromDir(boolean newValue); + + @ConfigAttribute(type=String.class) + public static final String CLUSTER_CONFIGURATION_DIR = "cluster-configuration-dir"; + public static final String DEFAULT_CLUSTER_CONFIGURATION_DIR = System.getProperty("user.dir"); + + @ConfigAttributeGetter(name=CLUSTER_CONFIGURATION_DIR) + public String getClusterConfigDir(); + @ConfigAttributeSetter(name=CLUSTER_CONFIGURATION_DIR) + public void setClusterConfigDir(final String clusterConfigDir); + + /** Turns on network partition detection */ + @ConfigAttributeSetter(name=ENABLE_NETWORK_PARTITION_DETECTION_NAME) + public void setEnableNetworkPartitionDetection(boolean newValue); + /** + * Returns the value of the enable-network-partition-detection property + */ + @ConfigAttributeGetter(name=ENABLE_NETWORK_PARTITION_DETECTION_NAME) + public boolean getEnableNetworkPartitionDetection(); + /** the name of the corresponding property */ + @ConfigAttribute(type=Boolean.class) + public static final String ENABLE_NETWORK_PARTITION_DETECTION_NAME = + "enable-network-partition-detection"; + public static final boolean DEFAULT_ENABLE_NETWORK_PARTITION_DETECTION = false; + + /** + * Get the value of the + * "member-timeout" + * property + */ + @ConfigAttributeGetter(name=MEMBER_TIMEOUT_NAME) + public int getMemberTimeout(); + + /** + * Set the value of the + * "member-timeout" + * property + */ + @ConfigAttributeSetter(name=MEMBER_TIMEOUT_NAME) + public void setMemberTimeout(int value); + + /** + * The default value of the corresponding property + */ + public static final int DEFAULT_MEMBER_TIMEOUT = 5000; + + /** The minimum member-timeout setting of 1000 milliseconds */ + public static final int MIN_MEMBER_TIMEOUT = 10; + + /**The maximum member-timeout setting of 600000 millieseconds */ + public static final int MAX_MEMBER_TIMEOUT = 600000; + /** + * The name of the corresponding property + */ + @ConfigAttribute(type=Integer.class, min=MIN_MEMBER_TIMEOUT, max=MAX_MEMBER_TIMEOUT) + public static final String MEMBER_TIMEOUT_NAME = "member-timeout"; + + @ConfigAttribute(type=int[].class) + public static final String MEMBERSHIP_PORT_RANGE_NAME = "membership-port-range"; + + public static final int[] DEFAULT_MEMBERSHIP_PORT_RANGE = new int[]{1024,65535}; + + @ConfigAttributeGetter(name=MEMBERSHIP_PORT_RANGE_NAME) + public int[] getMembershipPortRange(); + + @ConfigAttributeSetter(name=MEMBERSHIP_PORT_RANGE_NAME) + public void setMembershipPortRange(int[] range); + + /** + * Returns the value of the "conserve-sockets" + * property + */ + @ConfigAttributeGetter(name=CONSERVE_SOCKETS_NAME) + public boolean getConserveSockets(); + /** + * Sets the value of the "conserve-sockets" + * property. + */ + @ConfigAttributeSetter(name=CONSERVE_SOCKETS_NAME) + public void setConserveSockets(boolean newValue); + + /** The name of the "conserveSockets" property */ + @ConfigAttribute(type=Boolean.class) + public static final String CONSERVE_SOCKETS_NAME = "conserve-sockets"; + + /** The default value of the "conserveSockets" property */ + public static final boolean DEFAULT_CONSERVE_SOCKETS = true; + + /** + * Returns the value of the "roles" + * property + */ + @ConfigAttributeGetter(name=ROLES_NAME) + public String getRoles(); + /** + * Sets the value of the "roles" + * property. + */ + @ConfigAttributeSetter(name=ROLES_NAME) + public void setRoles(String roles); + /** The name of the "roles" property */ + @ConfigAttribute(type=String.class) + public static final String ROLES_NAME = "roles"; + /** The default value of the "roles" property */ + public static final String DEFAULT_ROLES = ""; + + + /** + * The name of the "max wait time for reconnect" property */ + @ConfigAttribute(type=Integer.class) + public static final String MAX_WAIT_TIME_FOR_RECONNECT_NAME = "max-wait-time-reconnect"; + + /** + * Default value for MAX_WAIT_TIME_FOR_RECONNECT, 60,000 milliseconds. + */ + public static final int DEFAULT_MAX_WAIT_TIME_FOR_RECONNECT = 60000; + + /** + * Sets the max wait timeout, in milliseconds, for reconnect. + * */ + @ConfigAttributeSetter(name=MAX_WAIT_TIME_FOR_RECONNECT_NAME) + public void setMaxWaitTimeForReconnect( int timeOut); + + /** + * Returns the max wait timeout, in milliseconds, for reconnect. + * */ + @ConfigAttributeGetter(name=MAX_WAIT_TIME_FOR_RECONNECT_NAME) + public int getMaxWaitTimeForReconnect(); + + /** + * The name of the "max number of tries for reconnect" property. + * */ + @ConfigAttribute(type=Integer.class) + public static final String MAX_NUM_RECONNECT_TRIES = "max-num-reconnect-tries"; + + /** + * Default value for MAX_NUM_RECONNECT_TRIES. + */ + public static final int DEFAULT_MAX_NUM_RECONNECT_TRIES = 3; + + /** + * Sets the max number of tries for reconnect. + * */ + @ConfigAttributeSetter(name=MAX_NUM_RECONNECT_TRIES) + public void setMaxNumReconnectTries(int tries); + + /** + * Returns the value for max number of tries for reconnect. + * */ + @ConfigAttributeGetter(name=MAX_NUM_RECONNECT_TRIES) + public int getMaxNumReconnectTries(); + + // ------------------- Asynchronous Messaging Properties ------------------- + + /** + * Returns the value of the + * "async-distribution-timeout" property. + */ + @ConfigAttributeGetter(name=ASYNC_DISTRIBUTION_TIMEOUT_NAME) + public int getAsyncDistributionTimeout(); + /** + * Sets the value of the + * "async-distribution-timeout" property. + */ + @ConfigAttributeSetter(name=ASYNC_DISTRIBUTION_TIMEOUT_NAME) + public void setAsyncDistributionTimeout(int newValue); + + /** The default value of "asyncDistributionTimeout" is 0. */ + public static final int DEFAULT_ASYNC_DISTRIBUTION_TIMEOUT = 0; + /** The minimum value of "asyncDistributionTimeout" is 0. */ + public static final int MIN_ASYNC_DISTRIBUTION_TIMEOUT = 0; + /** The maximum value of "asyncDistributionTimeout" is 60000. */ + public static final int MAX_ASYNC_DISTRIBUTION_TIMEOUT = 60000; + + /** The name of the "asyncDistributionTimeout" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_DISTRIBUTION_TIMEOUT, max=MAX_ASYNC_DISTRIBUTION_TIMEOUT) + public static final String ASYNC_DISTRIBUTION_TIMEOUT_NAME = "async-distribution-timeout"; + /** + * Returns the value of the + * "async-queue-timeout" property. + */ + @ConfigAttributeGetter(name=ASYNC_QUEUE_TIMEOUT_NAME) + public int getAsyncQueueTimeout(); + /** + * Sets the value of the + * "async-queue-timeout" property. + */ + @ConfigAttributeSetter(name=ASYNC_QUEUE_TIMEOUT_NAME) + public void setAsyncQueueTimeout(int newValue); + + /** The default value of "asyncQueueTimeout" is 60000. */ + public static final int DEFAULT_ASYNC_QUEUE_TIMEOUT = 60000; + /** The minimum value of "asyncQueueTimeout" is 0. */ + public static final int MIN_ASYNC_QUEUE_TIMEOUT = 0; + /** The maximum value of "asyncQueueTimeout" is 86400000. */ + public static final int MAX_ASYNC_QUEUE_TIMEOUT = 86400000; + /** The name of the "asyncQueueTimeout" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_QUEUE_TIMEOUT, max=MAX_ASYNC_QUEUE_TIMEOUT) + public static final String ASYNC_QUEUE_TIMEOUT_NAME = "async-queue-timeout"; + /** + * Returns the value of the + * "async-max-queue-size" property. + */ + @ConfigAttributeGetter(name=ASYNC_MAX_QUEUE_SIZE_NAME) + public int getAsyncMaxQueueSize(); + /** + * Sets the value of the + * "async-max-queue-size" property. + */ + @ConfigAttributeSetter(name=ASYNC_MAX_QUEUE_SIZE_NAME) + public void setAsyncMaxQueueSize(int newValue); + + /** The default value of "asyncMaxQueueSize" is 8. */ + public static final int DEFAULT_ASYNC_MAX_QUEUE_SIZE = 8; + /** The minimum value of "asyncMaxQueueSize" is 0. */ + public static final int MIN_ASYNC_MAX_QUEUE_SIZE = 0; + /** The maximum value of "asyncMaxQueueSize" is 1024. */ + public static final int MAX_ASYNC_MAX_QUEUE_SIZE = 1024; + + /** The name of the "asyncMaxQueueSize" property */ + @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_MAX_QUEUE_SIZE, max=MAX_ASYNC_MAX_QUEUE_SIZE) + public static final String ASYNC_MAX_QUEUE_SIZE_NAME = "async-max-queue-size"; + /** @since 5.7 */ + @ConfigAttribute(type=String.class) + public static final String CLIENT_CONFLATION_PROP_NAME = "conflate-events"; + /** @since 5.7 */ + public static final String CLIENT_CONFLATION_PROP_VALUE_DEFAULT = "server"; + /** @since 5.7 */ + public static final String CLIENT_CONFLATION_PROP_VALUE_ON = "true"; + /** @since 5.7 */ + public static final String CLIENT_CONFLATION_PROP_VALUE_OFF = "false"; + + + /** @since 9.0 */ + @ConfigAttribute(type=Boolean.class) + public static final String DISTRIBUTED_TRANSACTIONS_NAME = "distributed-transactions"; + public static final boolean DEFAULT_DISTRIBUTED_TRANSACTIONS = false; + + @ConfigAttributeGetter(name=DISTRIBUTED_TRANSACTIONS_NAME) + public boolean getDistributedTransactions(); + + @ConfigAttributeSetter(name=DISTRIBUTED_TRANSACTIONS_NAME) + public void setDistributedTransactions(boolean value); + + /** + * Returns the value of the "conflate-events" + * property. + * @since 5.7 + */ + @ConfigAttributeGetter(name=CLIENT_CONFLATION_PROP_NAME) + public String getClientConflation(); + /** + * Sets the value of the "conflate-events" + * property. + * @since 5.7 + */ + @ConfigAttributeSetter(name=CLIENT_CONFLATION_PROP_NAME) + public void setClientConflation(String clientConflation); + // ------------------------------------------------------------------------- + /** + * Returns the value of the "durable-client-id" + * property. + */ + @ConfigAttributeGetter(name=DURABLE_CLIENT_ID_NAME) + public String getDurableClientId(); + + /** + * Sets the value of the "durable-client-id" + * property. + */ + @ConfigAttributeSetter(name=DURABLE_CLIENT_ID_NAME) + public void setDurableClientId(String durableClientId); + + /** The name of the "durableClientId" property */ + @ConfigAttribute(type=String.class) + public static final String DURABLE_CLIENT_ID_NAME = "durable-client-id"; + + /** + * The default durable client id. + *

Actual value of this constant is "". + */ + public static final String DEFAULT_DURABLE_CLIENT_ID = ""; + + /** + * Returns the value of the "durable-client-timeout" + * property. + */ + @ConfigAttributeGetter(name=DURABLE_CLIENT_TIMEOUT_NAME) + public int getDurableClientTimeout(); + + /** + * Sets the value of the "durable-client-timeout" + * property. + */ + @ConfigAttributeSetter(name=DURABLE_CLIENT_TIMEOUT_NAME) + public void setDurableClientTimeout(int durableClientTimeout); + + /** The name of the "durableClientTimeout" property */ + @ConfigAttribute(type=Integer.class) + public static final String DURABLE_CLIENT_TIMEOUT_NAME = "durable-client-timeout"; + + /** + * The default durable client timeout in seconds. + *

Actual value of this constant is "300". + */ + public static final int DEFAULT_DURABLE_CLIENT_TIMEOUT = 300; + + /** + * Returns user module name for client authentication initializer in "security-client-auth-init" + */ + @ConfigAttributeGetter(name=SECURITY_CLIENT_AUTH_INIT_NAME) + public String getSecurityClientAuthInit(); + + /** + * Sets the user module name in "security-client-auth-init" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_CLIENT_AUTH_INIT_NAME) + public void setSecurityClientAuthInit(String attValue); + + /** The name of user defined method name for "security-client-auth-init" property*/ + @ConfigAttribute(type=String.class) + public static final String SECURITY_CLIENT_AUTH_INIT_NAME = "security-client-auth-init"; + + /** + * The default client authentication initializer method name. + *

Actual value of this is in format "jar file:module name". + */ + public static final String DEFAULT_SECURITY_CLIENT_AUTH_INIT = ""; + + /** + * Returns user module name authenticating client credentials in "security-client-authenticator" + */ + @ConfigAttributeGetter(name=SECURITY_CLIENT_AUTHENTICATOR_NAME) + public String getSecurityClientAuthenticator(); + + /** + * Sets the user defined method name in "security-client-authenticator" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_CLIENT_AUTHENTICATOR_NAME) + public void setSecurityClientAuthenticator(String attValue); + + /** The name of factory method for "security-client-authenticator" property */ + @ConfigAttribute(type=String.class) + public static final String SECURITY_CLIENT_AUTHENTICATOR_NAME = "security-client-authenticator"; + + /** + * The default client authentication method name. + *

Actual value of this is fully qualified "method name". + */ + public static final String DEFAULT_SECURITY_CLIENT_AUTHENTICATOR = ""; + + /** ++ * Returns user module name generating token in "security-rest-token-service" ++ */ ++ public String getSecurityRestTokenService(); ++ ++ /** ++ * Sets the user defined method name in "security-rest-token-service" ++ * property. ++ */ ++ public void setSecurityRestTokenService(String attValue); ++ ++ /** ++ * Returns true if the value of the token service method name can ++ * currently be modified. Some attributes can not be modified while the ++ * system is running. ++ */ ++ public boolean isSecurityRestTokenServiceModifiable(); ++ ++ /** The name of factory method for "security-rest-token-service" property */ ++ public static final String SECURITY_REST_TOKEN_SERVICE_NAME = "security-rest-token-service"; ++ ++ /** ++ * The default REST token service method name. ++ *

Actual value of this is fully qualified "method name". ++ */ ++ public static final String DEFAULT_SECURITY_REST_TOKEN_SERVICE = ""; ++ ++ /** + * Returns name of algorithm to use for Diffie-Hellman key exchange "security-client-dhalgo" + */ + @ConfigAttributeGetter(name=SECURITY_CLIENT_DHALGO_NAME) + public String getSecurityClientDHAlgo(); + + /** + * Set the name of algorithm to use for Diffie-Hellman key exchange "security-client-dhalgo" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_CLIENT_DHALGO_NAME) + public void setSecurityClientDHAlgo(String attValue); + + /** + * The name of the Diffie-Hellman symmetric algorithm "security-client-dhalgo" + * property. + */ + @ConfigAttribute(type=String.class) + public static final String SECURITY_CLIENT_DHALGO_NAME = "security-client-dhalgo"; + + /** + * The default Diffie-Hellman symmetric algorithm name. + *

+ * Actual value of this is one of the available symmetric algorithm names in + * JDK like "DES", "DESede", "AES", "Blowfish". + */ + public static final String DEFAULT_SECURITY_CLIENT_DHALGO = ""; + + /** + * Returns user defined method name for peer authentication initializer in "security-peer-auth-init" + */ + @ConfigAttributeGetter(name=SECURITY_PEER_AUTH_INIT_NAME) + public String getSecurityPeerAuthInit(); + + /** + * Sets the user module name in "security-peer-auth-init" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_PEER_AUTH_INIT_NAME) + public void setSecurityPeerAuthInit(String attValue); + + /** The name of user module for "security-peer-auth-init" property*/ + @ConfigAttribute(type=String.class) + public static final String SECURITY_PEER_AUTH_INIT_NAME = "security-peer-auth-init"; + + /** + * The default client authenticaiton method name. + *

Actual value of this is fully qualified "method name". + */ + public static final String DEFAULT_SECURITY_PEER_AUTH_INIT = ""; + + /** + * Returns user defined method name authenticating peer's credentials in "security-peer-authenticator" + */ + @ConfigAttributeGetter(name=SECURITY_PEER_AUTHENTICATOR_NAME) + public String getSecurityPeerAuthenticator(); + + /** + * Sets the user module name in "security-peer-authenticator" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_PEER_AUTHENTICATOR_NAME) + public void setSecurityPeerAuthenticator(String attValue); + + /** The name of user defined method for "security-peer-authenticator" property*/ + @ConfigAttribute(type=String.class) + public static final String SECURITY_PEER_AUTHENTICATOR_NAME = "security-peer-authenticator"; + + /** + * The default client authenticaiton method. + *

Actual value of this is fully qualified "method name". + */ + public static final String DEFAULT_SECURITY_PEER_AUTHENTICATOR = ""; + + /** + * Returns user module name authorizing client credentials in "security-client-accessor" + */ + @ConfigAttributeGetter(name=SECURITY_CLIENT_ACCESSOR_NAME) + public String getSecurityClientAccessor(); + + /** + * Sets the user defined method name in "security-client-accessor" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_CLIENT_ACCESSOR_NAME) + public void setSecurityClientAccessor(String attValue); + + /** The name of the factory method for "security-client-accessor" property */ + @ConfigAttribute(type=String.class) + public static final String SECURITY_CLIENT_ACCESSOR_NAME = "security-client-accessor"; + + /** + * The default client authorization module factory method name. + *

Actual value of this is fully qualified "method name". + */ + public static final String DEFAULT_SECURITY_CLIENT_ACCESSOR = ""; + + /** + * Returns user module name authorizing client credentials in "security-client-accessor-pp" + */ + @ConfigAttributeGetter(name=SECURITY_CLIENT_ACCESSOR_PP_NAME) + public String getSecurityClientAccessorPP(); + + /** + * Sets the user defined method name in "security-client-accessor-pp" + * property. + */ + @ConfigAttributeSetter(name=SECURITY_CLIENT_ACCESSOR_PP_NAME) + public void setSecurityClientAccessorPP(String attValue); + + /** The name of the factory method for "security-client-accessor-pp" property */ + @ConfigAttribute(type=String.class) + public static final String SECURITY_CLIENT_ACCESSOR_PP_NAME = "security-client-accessor-pp"; + + /** + * The default client post-operation authorization module factory method name. + *

Actual value of this is fully qualified "method name". + */ + public static final String DEFAULT_SECURITY_CLIENT_ACCESSOR_PP = ""; + + /** + * Get the current log-level for security logging. + * + * @return the current security log-level + */ + @ConfigAttributeGetter(name=SECURITY_LOG_LEVEL_NAME) + public int getSecurityLogLevel(); + + /** + * Set the log-level for security logging. + * + * @param level + * the new security log-level + */ + @ConfigAttributeSetter(name=SECURITY_LOG_LEVEL_NAME) + public void setSecurityLogLevel(int level); + + /** + * The name of "security-log-level" property that sets the log-level for + * security logger obtained using + * {@link DistributedSystem#getSecurityLogWriter()} + */ + // type is String because the config file "config", "debug", "fine" etc, but the setter getter accepts int + @ConfigAttribute(type=String.class) + public static final String SECURITY_LOG_LEVEL_NAME = "security-log-level"; + + /** + * Returns the value of the "security-log-file" property + * + * @return null if logging information goes to standard out + */ + @ConfigAttributeGetter(name=SECURITY_LOG_FILE_NAME) + public File getSecurityLogFile(); + + /** + * Sets the system's security log file containing security related messages. + *

+ * Non-absolute log files are relative to the system directory. + *

+ * The security log file can not be changed while the system is running. + * + * @throws IllegalArgumentException + * if the specified value is not acceptable. + * @throws com.gemstone.gemfire.UnmodifiableException + * if this attribute can not be modified. + * @throws com.gemstone.gemfire.GemFireIOException + * if the set failure is caused by an error when writing to + * the system's configuration file. + */ + @ConfigAttributeSetter(name=SECURITY_LOG_FILE_NAME) + public void setSecurityLogFile(File value); + + /** + * The name of the "security-log-file" property. This property is the path of + * the file where security related messages are logged. + */ + @ConfigAttribute(type=File.class) + public static final String SECURITY_LOG_FILE_NAME = "security-log-file"; + + /** + * The default security log file. + *

* + *

+ * Actual value of this constant is "" which directs security + * log messages to the same place as the system log file. + */ + public static final File DEFAULT_SECURITY_LOG_FILE = new File(""); + + /** + * Get timeout for peer membership check when security is enabled. + * + * @return Timeout in milliseconds. + */ + @ConfigAttributeGetter(name=SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME) + public int getSecurityPeerMembershipTimeout(); + + /** + * Set timeout for peer membership check when security is enabled. The timeout must be less + * than peer handshake timeout. + * @param attValue + */ + @ConfigAttributeSetter(name=SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME) + public void setSecurityPeerMembershipTimeout(int attValue); + + + /** + * The default peer membership check timeout is 1 second. + */ + public static final int DEFAULT_SECURITY_PEER_VERIFYMEMBER_TIMEOUT = 1000; + + /** + * Max membership timeout must be less than max peer handshake timeout. Currently this is set to + * default handshake timeout of 60 seconds. + */ + public static final int MAX_SECURITY_PEER_VERIFYMEMBER_TIMEOUT = 60000; + + /** The name of the peer membership check timeout property */ + @ConfigAttribute(type=Integer.class, min=0, max=MAX_SECURITY_PEER_VERIFYMEMBER_TIMEOUT) + public static final String SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME = "security-peer-verifymember-timeout"; + /** + * Returns all properties starting with "security-". + */ + public Properties getSecurityProps(); + + /** + * Returns the value of security property "security-" + * for an exact attribute name match. + */ + public String getSecurity(String attName); + + /** + * Sets the value of the "security-*" + * property. + */ + public void setSecurity(String attName, String attValue); + + /** For the "security-" prefixed properties */ + public static final String SECURITY_PREFIX_NAME = "security-"; + + /** The prefix used for Gemfire properties set through java system properties */ + public static final String GEMFIRE_PREFIX = "gemfire."; + + /** For the "custom-" prefixed properties */ + public static final String USERDEFINED_PREFIX_NAME = "custom-"; + + /** For ssl keystore and trust store properties */ + public static final String SSL_SYSTEM_PROPS_NAME = "javax.net.ssl"; + + public static final String KEY_STORE_TYPE_NAME = ".keyStoreType"; + public static final String KEY_STORE_NAME = ".keyStore"; + public static final String KEY_STORE_PASSWORD_NAME = ".keyStorePassword"; + public static final String TRUST_STORE_NAME = ".trustStore"; + public static final String TRUST_STORE_PASSWORD_NAME = ".trustStorePassword"; + + + /** Suffix for ssl keystore and trust store properties for JMX*/ + public static final String JMX_SSL_PROPS_SUFFIX = "-jmx"; + + /** For security properties starting with sysprop in gfsecurity.properties file */ + public static final String SYS_PROP_NAME = "sysprop-"; + /** + * The property decides whether to remove unresponsive client from the server. + */ + @ConfigAttribute(type=Boolean.class) + public static final String REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME = "remove-unresponsive-client"; + + /** + * The default value of remove unresponsive client is false. + */ + public static final boolean DEFAULT_REMOVE_UNRESPONSIVE_CLIENT = false; + /** + * Returns the value of the "remove-unresponsive-client" + * property. + * @since 6.0 + */ + @ConfigAttributeGetter(name=REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME) + public boolean getRemoveUnresponsiveClient(); + /** + * Sets the value of the "remove-unresponsive-client" + * property. + * @since 6.0 + */ + @ConfigAttributeSetter(name=REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME) + public void setRemoveUnresponsiveClient(boolean value); + + /** @since 6.3 */ + @ConfigAttribute(type=Boolean.class) + public static final String DELTA_PROPAGATION_PROP_NAME = "delta-propagation"; + + public static final boolean DEFAULT_DELTA_PROPAGATION = true; + /** + * Returns the value of the "delta-propagation" + * property. + * @since 6.3 + */ + @ConfigAttributeGetter(name=DELTA_PROPAGATION_PROP_NAME) + public boolean getDeltaPropagation(); + + /** + * Sets the value of the "delta-propagation" + * property. + * @since 6.3 + */ + @ConfigAttributeSetter(name=DELTA_PROPAGATION_PROP_NAME) + public void setDeltaPropagation(boolean value); + + public static final int MIN_DISTRIBUTED_SYSTEM_ID = -1; + public static final int MAX_DISTRIBUTED_SYSTEM_ID = 255; + /** + * @since 6.6 + */ + @ConfigAttribute(type=Integer.class) + public static final String DISTRIBUTED_SYSTEM_ID_NAME = "distributed-system-id"; + public static final int DEFAULT_DISTRIBUTED_SYSTEM_ID = -1; + + @ConfigAttribute(type=String.class) + public static final String REDUNDANCY_ZONE_NAME = "redundancy-zone"; + public static final String DEFAULT_REDUNDANCY_ZONE = ""; + + /** + * @since 6.6 + */ + @ConfigAttributeSetter(name=DISTRIBUTED_SYSTEM_ID_NAME) + public void setDistributedSystemId(int distributedSystemId); + + @ConfigAttributeSetter(name=REDUNDANCY_ZONE_NAME) +