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

com.fasterxml.clustermate.service.Stores Maven / Gradle / Ivy

The newest version!
package com.fasterxml.clustermate.service;

import com.fasterxml.storemate.shared.IpAndPort;
import com.fasterxml.storemate.store.StorableStore;
import com.fasterxml.storemate.store.lastaccess.LastAccessStore;
import com.fasterxml.storemate.store.lastaccess.LastAccessUpdateMethod;
import com.fasterxml.storemate.store.state.NodeStateStore;
import com.fasterxml.clustermate.api.EntryKey;
import com.fasterxml.clustermate.service.state.ActiveNodeState;
import com.fasterxml.clustermate.service.store.StoredEntry;
import com.fasterxml.clustermate.service.store.StoredEntryConverter;

/**
 * Basic abstraction used for handling references to core stores
 * that a clustered service needs.
 */
public abstract class Stores>
    implements com.fasterxml.storemate.shared.StartAndStoppable
{
    public abstract boolean isActive();

    public abstract String getInitProblem();

    public abstract StoredEntryConverter getEntryConverter();

    /**
     * Accessor for store used for entry metadata.
     */
    public abstract StorableStore getEntryStore();

    /**
     * Accessor for store used for local cluster node information, including
     * key ranges and update state.
     */
    public abstract NodeStateStore getNodeStore();

    /**
     * Accessor for store used for storing last-accessed information.
     */
    public abstract LastAccessStore getLastAccessStore();

    /**
     * Accessor for store used for remote cluster node information, mostly
     * update sync information but also key ranges.
     */
    public abstract NodeStateStore getRemoteNodeStore();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy