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

org.apache.geode.admin.SystemMemberCache 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.admin;

import org.apache.geode.cache.RegionAttributes;

/**
 * Administrative interface that represent's the {@link SystemMember}'s view of its
 * {@link org.apache.geode.cache.Cache}.
 *
 * @since GemFire 3.5
 * @deprecated as of 7.0 use the management
 *             package instead
 */
public interface SystemMemberCache {
  // attributes
  /**
   * The name of the cache.
   */
  public String getName();

  /**
   * Value that uniquely identifies an instance of a cache for a given member.
   */
  public int getId();

  /**
   * Indicates if this cache has been closed.
   * 
   * @return true, if this cache is closed; false, otherwise
   */
  public boolean isClosed();

  /**
   * Gets the number of seconds a cache operation will wait to obtain a distributed lock lease.
   */
  public int getLockTimeout();

  /**
   * Sets the number of seconds a cache operation may wait to obtain a distributed lock lease before
   * timing out.
   *
   * @throws AdminException If a problem is encountered while setting the lock timeout
   *
   * @see org.apache.geode.cache.Cache#setLockTimeout
   */
  public void setLockTimeout(int seconds) throws AdminException;

  /**
   * Gets the length, in seconds, of distributed lock leases obtained by this cache.
   */
  public int getLockLease();

  /**
   * Sets the length, in seconds, of distributed lock leases obtained by this cache.
   *
   * @throws AdminException If a problem is encountered while setting the lock lease
   *
   * @see org.apache.geode.cache.Cache#setLockLease
   */
  public void setLockLease(int seconds) throws AdminException;

  /**
   * Gets the number of seconds a cache {@link org.apache.geode.cache.Region#get(Object) get}
   * operation can spend searching for a value before it times out. The search includes any time
   * spent loading the object. When the search times out it causes the get to fail by throwing an
   * exception.
   */
  public int getSearchTimeout();

  /**
   * Sets the number of seconds a cache get operation can spend searching for a value.
   *
   * @throws AdminException If a problem is encountered while setting the search timeout
   *
   * @see org.apache.geode.cache.Cache#setSearchTimeout
   */
  public void setSearchTimeout(int seconds) throws AdminException;

  /**
   * Returns number of seconds since this member's cache has been created. Returns -1
   * if this member does not have a cache or its cache has been closed.
   */
  public int getUpTime();

  /**
   * Returns the names of all the root regions currently in this cache.
   */
  public java.util.Set getRootRegionNames();

  // operations

  /**
   * Returns statistics related to this cache's performance.
   */
  public Statistic[] getStatistics();

  /**
   * Return the existing region (or subregion) with the specified path that already exists in the
   * cache. Whether or not the path starts with a forward slash it is interpreted as a full path
   * starting at a root.
   *
   * @param path the path to the region
   * @return the Region or null if not found
   * @throws IllegalArgumentException if path is null, the empty string, or "/"
   */
  public SystemMemberRegion getRegion(String path) throws AdminException;

  /**
   * Creates a VM root Region in this cache.
   *
   * @param name The name of the region to create
   * @param attrs The attributes of the root region
   *
   * @throws AdminException If the region cannot be created
   *
   * @since GemFire 4.0
   * @deprecated as of GemFire 5.0, use {@link #createRegion} instead
   */
  @Deprecated
  public SystemMemberRegion createVMRegion(String name, RegionAttributes attrs)
      throws AdminException;

  /**
   * Creates a root Region in this cache.
   *
   * @param name The name of the region to create
   * @param attrs The attributes of the root region
   *
   * @throws AdminException If the region cannot be created
   *
   * @since GemFire 5.0
   */
  public SystemMemberRegion createRegion(String name, RegionAttributes attrs) throws AdminException;

  /**
   * Updates the state of this cache instance. Note that once a cache instance is closed refresh
   * will never change the state of that instance.
   */
  public void refresh();

  /**
   * Adds a new, unstarted cache server that will serve the contents of this cache to clients.
   *
   * @see org.apache.geode.cache.Cache#addCacheServer
   *
   * @since GemFire 5.7
   */
  public SystemMemberCacheServer addCacheServer() throws AdminException;

  /**
   * Returns the cache servers that run in this member's VM. Note that this list will not be updated
   * until {@link #refresh} is called.
   *
   * @see org.apache.geode.cache.Cache#getCacheServers
   *
   * @since GemFire 5.7
   */
  public SystemMemberCacheServer[] getCacheServers() throws AdminException;

  /**
   * Returns whether or not this cache acts as a server. This method will always return
   * true for the SystemMemberCache obtained from a {@link CacheServer}.
   * Note that this value will not be updated until {@link #refresh} is invoked.
   *
   * @since GemFire 4.0
   */
  public boolean isServer() throws AdminException;
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy