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

org.dizitart.no2.transaction.TransactionContext Maven / Gradle / Ivy

package org.dizitart.no2.transaction;

import lombok.Data;
import org.dizitart.no2.collection.Document;
import org.dizitart.no2.collection.NitriteId;
import org.dizitart.no2.store.NitriteMap;

import java.util.Queue;
import java.util.concurrent.atomic.AtomicBoolean;

/**
 * @author Anindya Chatterjee
 * @since 4.0
 */
@Data
class TransactionContext implements AutoCloseable {
    private String collectionName;
    private Queue journal;
    private NitriteMap nitriteMap;
    private TransactionConfig config;
    private AtomicBoolean active;

    public TransactionContext() {
        active = new AtomicBoolean(true);
    }

    @Override
    public void close() throws Exception {
        journal.clear();
        nitriteMap.clear();
        nitriteMap.close();
        active.compareAndSet(true, false);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy