org.infinispan.query.indexmanager.LocalIndexingBackend Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of infinispan-embedded-query
Show all versions of infinispan-embedded-query
Infinispan Embedded Query All-in-One module
The newest version!
package org.infinispan.query.indexmanager;
import java.util.List;
import org.hibernate.search.backend.IndexingMonitor;
import org.hibernate.search.backend.LuceneWork;
import org.hibernate.search.backend.impl.lucene.WorkspaceHolder;
import org.hibernate.search.indexes.spi.IndexManager;
import org.infinispan.query.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* The IndexingBackend which directly couples to the Hibernate Search WorkspaceHolder.
* Normally this will be the "lucene" backend, writing to the index.
*
* @see org.hibernate.search.backend.impl.lucene.WorkspaceHolder
* @author Sanne Grinovero (C) 2014 Red Hat Inc.
* @since 7.0
*/
final class LocalIndexingBackend implements IndexingBackend {
private static final Log log = LogFactory.getLog(LocalIndexingBackend.class, Log.class);
private final WorkspaceHolder workspaceHolder;
public LocalIndexingBackend(WorkspaceHolder workspaceHolder) {
this.workspaceHolder = workspaceHolder;
}
@Override
public void applyWork(List workList, IndexingMonitor monitor, IndexManager indexManager) {
log.applyingChangeListLocally(workList);
workspaceHolder.applyWork(workList, monitor);
}
@Override
public void applyStreamWork(LuceneWork singleOperation, IndexingMonitor monitor, IndexManager indexManager) {
workspaceHolder.applyStreamWork(singleOperation, monitor);
}
@Override
public boolean isMasterLocal() {
return true;
}
@Override
public void flushAndClose(IndexingBackend replacement) {
workspaceHolder.close();
log.debug("Downgraded from Master role: Index lock released.");
}
public String toString() {
return "LocalIndexingBackend";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy