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

com.sleepycat.je.rep.NoConsistencyRequiredPolicy Maven / Gradle / Ivy

The newest version!
/*-
 * Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
 *
 * This file was distributed by Oracle as part of a version of Oracle Berkeley
 * DB Java Edition made available at:
 *
 * http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
 *
 * Please see the LICENSE file included in the top-level directory of the
 * appropriate version of Oracle Berkeley DB Java Edition for a copy of the
 * license and additional information.
 */

package com.sleepycat.je.rep;

import java.util.concurrent.TimeUnit;

import com.sleepycat.je.ReplicaConsistencyPolicy;
import com.sleepycat.je.dbi.EnvironmentImpl;

/**
 * A consistency policy that lets a transaction on a replica using this policy
 * proceed regardless of the state of the Replica relative to the Master. It
 * can also be used to access a database when a replication node is in a
 * DETACHED state.
 * 

* Consistency policies are specified at either a per-transaction level through * {@link com.sleepycat.je.TransactionConfig#setConsistencyPolicy} or as an * replication node wide default through {@link * com.sleepycat.je.rep.ReplicationConfig#setConsistencyPolicy} * * @see Managing Consistency */ public class NoConsistencyRequiredPolicy implements ReplicaConsistencyPolicy { /** * The name:{@value} associated with this policy. The name can be used when * constructing policy property values for use in je.properties files. */ public static final String NAME = "NoConsistencyRequiredPolicy"; /** * Convenience instance. */ public final static NoConsistencyRequiredPolicy NO_CONSISTENCY = new NoConsistencyRequiredPolicy(); /** * Create a NoConsistencyRequiredPolicy. */ public NoConsistencyRequiredPolicy() { } /** * Returns the name:{@value #NAME}, associated with this policy. * @see #NAME */ @Override public String getName() { return NAME; } @Override @SuppressWarnings("unused") public void ensureConsistency(EnvironmentImpl repInstance) { /* Nothing to check. */ return; } /** */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result; return result; } /** */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof NoConsistencyRequiredPolicy)) { return false; } return true; } /** * Always returns 0, no timeout is needed for this policy. */ @Override public long getTimeout(@SuppressWarnings("unused") TimeUnit unit) { return 0; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy