package org.infinispan.hibernate.search.impl; import java.util.concurrent.Executor; import org.hibernate.search.engine.service.spi.Service; /** * Defines the service contract for the Executor which we'll use in combination with the Infinispan Lucene Directory, as * this provides an option to execute delete operations in background. It is important to run delete operations in * background as while these are simple from a computational point of view, they will introduce a significant delay on * write operations when Infinispan is running in clustered mode. This is implemented as a Service so that integrations * can inject a different managed threadpool, and we can share the same executor among multiple IndexManagers. * * @author Sanne Grinovero <sanne@hibernate.org> (C) 2014 Red Hat Inc. */ public interface AsyncDeleteExecutorService extends Service { Executor getExecutor(); void closeAndFlush(); /** * @return the number of deletions being executed */ int getActiveTasks(); }