Package org.hibernate.search.store
Interface DirectoryProvider<TDirectory extends Directory>
- All Known Implementing Classes:
FSDirectoryProvider,FSMasterDirectoryProvider,FSSlaveDirectoryProvider,RAMDirectoryProvider
public interface DirectoryProvider<TDirectory extends Directory>
Set up and provide a Lucene
Directory
equals() and hashCode() must guaranty equality
between two providers pointing to the same underlying Lucene Store.
Besides that, hashCode ordering is used to avoid deadlock when locking a directory provider.
This class must be thread safe regarding getDirectory() calls-
Method Summary
Modifier and TypeMethodDescriptionReturns an initialized Lucene Directory.voidinitialize(String directoryProviderName, Properties properties, BuildContext context) get the information to initialize the directory and build its hashCode/equals methodvoidstart()Executed after initialize, this method set up the heavy process of starting up the DirectoryProvider IO processing as well as background processing are expected to be set up herevoidstop()Executed when the search factory is closed.
-
Method Details
-
initialize
get the information to initialize the directory and build its hashCode/equals method -
start
void start()Executed after initialize, this method set up the heavy process of starting up the DirectoryProvider IO processing as well as background processing are expected to be set up here -
stop
void stop()Executed when the search factory is closed. This method should stop any background process as well as releasing any resource. This method should avoid raising exceptions and log potential errors instead -
getDirectory
TDirectory getDirectory()Returns an initialized Lucene Directory. This method call must be threadsafe
-