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 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 the gemfire.properties and license-* settings. The system administrator may need to set properties at the 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 cacheserver, pass the properties in at the command line, in name=value pairs. Example:
      cacheserver start mcast-port=10338 cache-xml-file=/serverConfig/cache.xml
  3. Entry in a gemfire.properties file. See Deploying vFabric 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.