Options for Configuring the Distributed System

GemFire provides a default distributed system configuration, for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you will customize your system configuration. You can use a mix of various options for customizing your distributed system configuration.

GemFire properties are used to join a distributed system and configure system member behavior. Configure your GemFire properties through the gemfire.properties file, the Java API, or gfsh command-line input. Generally, you store all your properties in the gemfire.properties file, but you may need to provide properties through other means, for example, to pass in security properties for username and password that you have received from keyboard input.

Note: Check with your GemFire system administrator before changing properties through the API, including gemfire.properties settings. The system administrator may need to set properties at the gfsh command line or in configuration files. Any change made through the API overrides those other settings.
Note: The product defaultConfigs directory has a sample gemfire.properties file with all default settings.
Set distributed system properties by any combination of the following. The system looks for the settings in the order listed:
  1. java.lang.System property setting. Usually set at the command line. For applications, set these in your code or at the command line.
    Naming: Specify these properties in the format gemfire.property-name, where property-name matches the name in the gemfire.properties file. To set the gemfire property file name, use gemfirePropertyFile by itself
    • In the API, set the System properties before the cache creation call. Example:
      System.setProperty("DgemfirePropertyFile", "gfTest");
      System.setProperty("Dgemfire.mcast-port", "10999");
      
      Cache cache = new CacheFactory().create();
    • At the java command line, pass in System properties using the -D switch. Example:
      java -DgemfirePropertyFile=gfTest -Dgemfire.mcast-port=10999 test.Program
  2. Entry in a Properties object.
    Naming: Specify these properties using the names in the gemfire.properties file. To set the gemfire property file name, use gemfirePropertyFile.
    • In the API, create a Properties object and pass it to the cache create method. Example:
      Properties properties= new Properties();
      properties.setProperty("log-level", "warning");
      properties.setProperty("name", "testMember2");
      ClientCache userCache = 
      	new ClientCacheFactory(properties).create();
    • For the cache server, pass individual properties on the gfsh command line as command-line options or pass in the properties filenames. Example:
      gfsh>start server --name=server_name --mcast-port=10338 --properties-file=path_to_gemfire_properties_file --security-properties-file=path_gfsecurity_properties_file
      See Pivotal GemFire Servers for more information on running cache servers.
  3. Entry in a gemfire.properties file. See Deploying Pivotal GemFire Configuration Files. Example:
    cache-xml-file=cache.xml
    conserve-sockets=true
    disable-tcp=false
  4. Default value. The default property values are listed in the online Java documentation for com.gemstone.gemfire.distributed.DistributedSystem.