All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gemstone.gemfire.cache.RegionShortcut Maven / Gradle / Ivy

/*
 * 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.cache;

/**
 * Each enum represents a predefined {@link RegionAttributes} in a {@link Cache}.
 * These enum values can be used to create regions using a {@link RegionFactory}
 * obtained by calling {@link Cache#createRegionFactory(RegionShortcut)}.
 * 

Another way to use predefined region attributes is in cache.xml by setting * the refid attribute on a region element or region-attributes element to the * string of each value. * @since 6.5 * @author darrel */ public enum RegionShortcut { /** * A PARTITION has local state that is partitioned across each peer member * that created the region. * The actual RegionAttributes for a PARTITION region set the {@link DataPolicy} to {@link DataPolicy#PARTITION}. */ PARTITION, /** * A PARTITION_REDUNDANT has local state that is partitioned across each peer member * that created the region. * In addition an extra copy of the data is kept in memory. * The actual RegionAttributes for a PARTITION_REDUNDANT region set the {@link DataPolicy} to {@link DataPolicy#PARTITION} and the redundant-copies to 1. */ PARTITION_REDUNDANT, /** * A PARTITION_PERSISTENT has local state that is partitioned across each peer member * that created the region. * In addition its state is written to disk and recovered from disk when the region * is created. * The actual RegionAttributes for a PARTITION_PERSISTENT region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_PARTITION}. */ PARTITION_PERSISTENT, /** * A PARTITION_REDUNDANT_PERSISTENT has local state that is partitioned across each peer member * that created the region. * In addition its state is written to disk and recovered from disk when the region * is created. * In addition an extra copy of the data is kept in memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_PERSISTENT region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_PARTITION} and the redundant-copies to 1. */ PARTITION_REDUNDANT_PERSISTENT, /** * A PARTITION_OVERFLOW has local state that is partitioned across each peer member * that created the region. * It will also move the values of entries to disk once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a PARTITION_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#PARTITION}. * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_OVERFLOW, /** * A PARTITION_REDUNDANT_OVERFLOW has local state that is partitioned across each peer member * that created the region. * In addition an extra copy of the data is kept in memory. * It will also move the values of entries to disk once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#PARTITION}, the redundant-copies to 1, * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_REDUNDANT_OVERFLOW, /** * A PARTITION_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member * that created the region. * In addition its state is written to disk and recovered from disk when the region * is created. * It will also remove the values of entries from memory once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a PARTITION_PERSISTENT_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_PARTITION} * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_PERSISTENT_OVERFLOW, /** * A PARTITION_REDUNDANT_PERSISTENT_OVERFLOW has local state that is partitioned across each peer member * that created the region. * In addition its state is written to disk and recovered from disk when the region * is created. * In addition an extra copy of the data is kept in memory. * It will also remove the values of entries from memory once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_PERSISTENT_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_PARTITION}, the redundant-copies to 1, * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_REDUNDANT_PERSISTENT_OVERFLOW, /** * A PARTITION_HEAP_LRU has local state that is partitioned across each peer member * that created the region. * It will also destroy entries once it detects that the java vm is running low * of memory. * The actual RegionAttributes for a PARTITION_HEAP_LRU region set the {@link DataPolicy} to {@link DataPolicy#PARTITION} * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#LOCAL_DESTROY}. */ PARTITION_HEAP_LRU, /** * A PARTITION_REDUNDANT_HEAP_LRU has local state that is partitioned across each peer member * that created the region. * In addition an extra copy of the data is kept in memory. * It will also destroy entries once it detects that the java vm is running low * of memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_HEAP_LRU region set the {@link DataPolicy} to {@link DataPolicy#PARTITION}, the redundant-copies to 1, * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#LOCAL_DESTROY}. */ PARTITION_REDUNDANT_HEAP_LRU, /** * A REPLICATE has local state that is kept in sync with all other replicate * regions that exist in its peers. * The actual RegionAttributes for a REPLICATE region set the {@link DataPolicy} to {@link DataPolicy#REPLICATE} and {@link Scope} to {@link Scope#DISTRIBUTED_ACK}. */ REPLICATE, /** * A REPLICATE_PERSISTENT has local state that is kept in sync with all other replicate * regions that exist in its peers. * In addition its state is written to disk and recovered from disk when the region * is created. * The actual RegionAttributes for a REPLICATE_PERSISTENT region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_REPLICATE} and {@link Scope} to {@link Scope#DISTRIBUTED_ACK}. */ REPLICATE_PERSISTENT, /** * A REPLICATE_OVERFLOW has local state that is kept in sync with all other replicate * regions that exist in its peers. * The actual RegionAttributes for a REPLICATE_OVERFLOW region set the {@link DataPolicy} * to {@link DataPolicy#REPLICATE}, the {@link Scope} to {@link Scope#DISTRIBUTED_ACK} * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ REPLICATE_OVERFLOW, /** * A REPLICATE_PERSISTENT_OVERFLOW has local state that is kept in sync with all other replicate * regions that exist in its peers. * In addition its state is written to disk and recovered from disk when the region * is created. * It will also remove the values of entries from memory once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a REPLICATE_PERSISTENT_OVERFLOW region set the {@link DataPolicy} * to {@link DataPolicy#PERSISTENT_REPLICATE}, the {@link Scope} to {@link Scope#DISTRIBUTED_ACK}, * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ REPLICATE_PERSISTENT_OVERFLOW, /** * A REPLICATE_HEAP_LRU has local state that is kept in sync with all other replicate * regions that exist in its peers. * It will also destroy entries once it detects that the java vm is running low * of memory. * The actual RegionAttributes for a REPLICATE_HEAP_LRU region set the {@link DataPolicy} to {@link DataPolicy#PRELOADED}, the {@link Scope} to {@link Scope#DISTRIBUTED_ACK}, * {@link SubscriptionAttributes} to {@link InterestPolicy#ALL}, * and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#LOCAL_DESTROY}. */ REPLICATE_HEAP_LRU, /** * A LOCAL region only has local state and never sends operations to others. * The actual RegionAttributes for a LOCAL region set the {@link DataPolicy} to {@link DataPolicy#NORMAL}. */ LOCAL, /** * A LOCAL_PERSISTENT region only has local state and never sends operations to others * but it does write its state to disk and can recover that state when the region * is created. * The actual RegionAttributes for a LOCAL_PERSISTENT region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_REPLICATE}. */ LOCAL_PERSISTENT, /** * A LOCAL_HEAP_LRU region only has local state and never sends operations to others. * It will also destroy entries once it detects that the java vm is running low * of memory. * The actual RegionAttributes for a LOCAL_HEAP_LRU region set the {@link DataPolicy} to {@link DataPolicy#NORMAL} and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#LOCAL_DESTROY}. */ LOCAL_HEAP_LRU, /** * A LOCAL_OVERFLOW region only has local state and never sends operations to others. * It will also move the values of entries to disk once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a LOCAL_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#NORMAL} and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ LOCAL_OVERFLOW, /** * A LOCAL_PERSISTENT_OVERFLOW region only has local state and never sends operations to others * but it does write its state to disk and can recover that state when the region * is created. * It will also remove the values of entries from memory once it detects that the * java vm is running low of memory. * The actual RegionAttributes for a LOCAL_PERSISTENT_OVERFLOW region set the {@link DataPolicy} to {@link DataPolicy#PERSISTENT_REPLICATE} and {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ LOCAL_PERSISTENT_OVERFLOW, /** * A PARTITION_PROXY has no local state and forwards all operations to a PARTITION * or a PARTITION_PERSISTENT that exists in its peers. * The actual RegionAttributes for a PARTITION_PROXY region set the {@link DataPolicy} to {@link DataPolicy#PARTITION} and the local-max-memory to 0. */ PARTITION_PROXY, /** * A PARTITION_PROXY_REDUNDANT has no local state and forwards all operations to a PARTITION_REDUNDANT * or a PARTITION_REDUNDANT_PERSISTENT that exists in its peers. * The actual RegionAttributes for a PARTITION_PROXY_REDUNDANT region set the {@link DataPolicy} to {@link DataPolicy#PARTITION}, the local-max-memory to 0, * and the redundant-copies to 1. */ PARTITION_PROXY_REDUNDANT, /** * A REPLICATE_PROXY has no local state and forwards all operations (except queries) to a REPLICATE * or a REPLICATE_PERSISTENT that exists in its peers. * Queries will be executed on this PROXY region. * The actual RegionAttributes for a REPLICATE_PROXY region set the {@link DataPolicy} to {@link DataPolicy#EMPTY} and {@link Scope} to {@link Scope#DISTRIBUTED_ACK}. */ REPLICATE_PROXY, /** * A PARTITION_HDFS has local state that is partitioned across each peer member * that created the region. * In addition its state is written to HDFS. * The random access to the data in HDFS is also enabled. * The actual RegionAttributes for a PARTITION_HDFS region set the {@link DataPolicy} to {@link DataPolicy#HDFS_PARTITION}. * The HDFS event queue's property random-access is set to true. * The {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_HDFS, /** * A PARTITION_REDUNDANT_HDFS has local state that is partitioned across each peer member * that created the region. * In addition its state is written to HDFS and recovered from HDFS when the region is * created. The random access to the data in HDFS is also enabled. * In addition an extra copy of the data is kept in memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_HDFS region set the {@link DataPolicy} to {@link DataPolicy#HDFS_PARTITION} * and the redundant-copies to 1. The HDFS event queue's property random-access is set to true. * The {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_REDUNDANT_HDFS, /** * A PARTITION_WRITEONLY_HDFS_STORE has local state that is partitioned across each peer member * that created the region. * In addition its state is written to HDFS and recovered from HDFS when the region is * created. The random access to the data in HDFS is disabled. * The actual RegionAttributes for a PARTITION_WRITEONLY_HDFS_STORE region set the {@link DataPolicy} to {@link DataPolicy#HDFS_PARTITION}. * The HDFS event queue's property write only is set as true. * The {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_WRITEONLY_HDFS_STORE, /** * A PARTITION_REDUNDANT_WRITEONLY_HDFS_STORE has local state that is partitioned across each peer member * that created the region. * In addition its state is written to HDFS and recovered from HDFS when the region is * created. The random access to the data in HDFS is disabled. * In addition an extra copy of the data is kept in memory. * The actual RegionAttributes for a PARTITION_REDUNDANT_WRITEONLY_HDFS_STORE region set the {@link DataPolicy} to {@link DataPolicy#HDFS_PARTITION} * and the redundant-copies to 1. The HDFS event queue's property write only is set as true. * The {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} * with {@link EvictionAction#OVERFLOW_TO_DISK}. */ PARTITION_REDUNDANT_WRITEONLY_HDFS_STORE }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy