 Apache Geode
  
    CHANGELOG
  Apache Geode
  
    CHANGELOG
  
        
  Managing Region Attributes
Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
All region attributes have default settings, so you only need to use region attributes to set the ones you want to override. See <region-attributes>.
Define Region Attributes
Create region attributes using any of these methods:
- Declarations inside the - cache.xml- <region>element:- <cache> <region name="exampleRegion" refid="REPLICATE"> <region-attributes statistics-enabled="true"> <entry-idle-time> <expiration-attributes timeout="10" action="destroy"/> </entry-idle-time> <cache-listener> <class-name>quickstart.SimpleCacheListener</class-name> </cache-listener> </region-attributes> </region> </cache>- When the - cache.xmlis loaded at startup, declared region attributes are automatically created and applied to the region.
- RegionFactoryAPI- set* method calls:- // Creating a partitioned region using the RegionFactory RegionFactory rf = cache.createRegionFactory(RegionShortcut.PARTITION); rf.addCacheListener(new LoggingCacheListener()); custRegion = rf.create("customer");- // Creating a partitioned region using the RegionFactory, with attribute modifications RegionFactory rf = cache.createRegionFactory(RegionShortcut.PARTITION); rf.setPartitionResolver(new CustomerOrderResolver()); rf.addCacheListener(new LoggingCacheListener()); custRegion = rf.create("customer");- // Creating a client with a Pool Specification Using ClientRegionFactory ClientRegionFactory<String,String> cRegionFactory = cache.createClientRegionFactory(PROXY); Region<String, String> region = cRegionFactory.setPoolName("Pool3").create("DATA");
- By issuing the gfsh - create regioncommand.
Modify Region Attributes
You can modify a region’s event handlers and expiration and eviction attributes after the region is created.
Note: Do not modify attributes for existing regions unless absolutely necessary. Creating the attributes you need at region creation is more efficient.
Modify attributes in one of these ways:
- By loading a - cache.xmlwith modified region attribute specifications:- <!-- Change the listener for exampleRegion ... <region name="exampleRegion"> <region-attributes statistics-enabled="true"> <cache-listener> <class-name>quickstart.ComplicatedCacheListener</class-name> </cache-listener> </region-attributes> </region> ...
- Using the - AttributesMutatorAPI:-  Retrieve the AttributesMutatorfrom the region
- Call the mutator set methods to modify attributes:
 - currRegion = cache.getRegion("root"); AttributesMutator mutator = this.currRegion.getAttributesMutator(); mutator.addCacheListener(new LoggingCacheListener());
-  Retrieve the 
- By issuing the gfsh - alter regioncommand. See alter region.