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

org.apache.geode.cache.client.ClientRegionShortcut Maven / Gradle / Ivy

Go to download

Apache Geode provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing

There is a newer version: 1.15.1
Show newest version
/*
 * 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 org.apache.geode.cache.client;

import org.apache.geode.cache.*;

/**
 * Each enum represents a predefined {@link RegionAttributes} in a {@link ClientCache}. These enum
 * values can be used to create regions using a {@link ClientRegionFactory} obtained by calling
 * {@link ClientCache#createClientRegionFactory(ClientRegionShortcut)}.
 * 

* 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 GemFire 6.5 */ public enum ClientRegionShortcut { /** * A PROXY region has no local state and forwards all operations to a server. The actual * RegionAttributes for a PROXY set the {@link DataPolicy} to {@link DataPolicy#EMPTY}. */ PROXY, /** * A CACHING_PROXY region has local state but can also send operations to a server. If the local * state is not found then the operation is sent to the server and the local state is updated to * contain the server result. The actual RegionAttributes for a CACHING_PROXY set the * {@link DataPolicy} to {@link DataPolicy#NORMAL}. */ CACHING_PROXY, /** * A CACHING_PROXY_HEAP_LRU region has local state but can also send operations to a server. If * the local state is not found then the operation is sent to the server and the local state is * updated to contain the server result. It will also destroy entries once it detects that the * java vm is running low of memory. The actual RegionAttributes for a CACHING_PROXY_HEAP_LRU set * the {@link DataPolicy} to {@link DataPolicy#NORMAL}. and {@link EvictionAttributes} are set to * {@link EvictionAlgorithm#LRU_HEAP} with {@link EvictionAction#LOCAL_DESTROY}. */ CACHING_PROXY_HEAP_LRU, /** * A CACHING_PROXY_OVERFLOW region has local state but can also send operations to a server. If * the local state is not found then the operation is sent to the server and the local state is * updated to contain the server result. 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 * CACHING_PROXY_OVERFLOW set the {@link DataPolicy} to {@link DataPolicy#NORMAL}. and * {@link EvictionAttributes} are set to {@link EvictionAlgorithm#LRU_HEAP} with * {@link EvictionAction#OVERFLOW_TO_DISK}. */ CACHING_PROXY_OVERFLOW, /** * A LOCAL region only has local state and never sends operations to a server. 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 a server 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 a server. 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 a server. 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 a server * 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 }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy