Package org.apache.lucene.replicator
Class LocalReplicator
- java.lang.Object
-
- org.apache.lucene.replicator.LocalReplicator
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Replicator
@Deprecated public class LocalReplicator extends Object implements Replicator
Deprecated.use org.apache.lucene.replicator.nrt insteadAReplicator
implementation for use by the side that publishesRevision
s, as well for clients tocheck for updates
. When a client needs to be updated, it is returned aSessionToken
through which it canobtain
the files of that revision. As long as a revision is being replicated, this replicator guarantees that it will not bereleased
.Replication sessions expire by default after
DEFAULT_SESSION_EXPIRATION_THRESHOLD
, and the threshold can be configured throughsetExpirationThreshold(long)
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_SESSION_EXPIRATION_THRESHOLD
Deprecated.Threshold for expiring inactive sessions.
-
Constructor Summary
Constructors Constructor Description LocalReplicator()
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SessionToken
checkForUpdate(String currentVersion)
Deprecated.Check whether the given version is up-to-date and returns aSessionToken
which can be used for fetching the revision files, otherwise returnsnull
.void
close()
Deprecated.protected void
ensureOpen()
Deprecated.Ensure that replicator is still open, or throwAlreadyClosedException
otherwise.long
getExpirationThreshold()
Deprecated.Returns the expiration threshold.InputStream
obtainFile(String sessionID, String source, String fileName)
Deprecated.Returns anInputStream
for the requested file and source in the context of the givensession
.void
publish(Revision revision)
Deprecated.Publish a newRevision
for consumption by clients.void
release(String sessionID)
Deprecated.Notify that the specifiedSessionToken
is no longer needed by the caller.void
setExpirationThreshold(long expirationThreshold)
Deprecated.Modify session expiration time - if a replication session is inactive that long it is automatically expired, and further attempts to operate within this session will throw aSessionExpiredException
.
-
-
-
Field Detail
-
DEFAULT_SESSION_EXPIRATION_THRESHOLD
public static final long DEFAULT_SESSION_EXPIRATION_THRESHOLD
Deprecated.Threshold for expiring inactive sessions. Defaults to 30 minutes.- See Also:
- Constant Field Values
-
-
Method Detail
-
ensureOpen
protected final void ensureOpen()
Deprecated.Ensure that replicator is still open, or throwAlreadyClosedException
otherwise.
-
checkForUpdate
public SessionToken checkForUpdate(String currentVersion)
Deprecated.Description copied from interface:Replicator
Check whether the given version is up-to-date and returns aSessionToken
which can be used for fetching the revision files, otherwise returnsnull
.NOTE: when the returned session token is no longer needed, you should call
Replicator.release(String)
so that the session resources can be reclaimed, including the revision files.- Specified by:
checkForUpdate
in interfaceReplicator
-
close
public void close() throws IOException
Deprecated.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getExpirationThreshold
public long getExpirationThreshold()
Deprecated.Returns the expiration threshold.- See Also:
setExpirationThreshold(long)
-
obtainFile
public InputStream obtainFile(String sessionID, String source, String fileName) throws IOException
Deprecated.Description copied from interface:Replicator
Returns anInputStream
for the requested file and source in the context of the givensession
.NOTE: it is the caller's responsibility to close the returned stream.
- Specified by:
obtainFile
in interfaceReplicator
- Throws:
SessionExpiredException
- if the specified session has already expiredIOException
-
publish
public void publish(Revision revision) throws IOException
Deprecated.Description copied from interface:Replicator
Publish a newRevision
for consumption by clients. It is the caller's responsibility to verify that the revision files exist and can be read by clients. When the revision is no longer needed, it will bereleased
by the replicator.- Specified by:
publish
in interfaceReplicator
- Throws:
IOException
-
release
public void release(String sessionID) throws IOException
Deprecated.Description copied from interface:Replicator
Notify that the specifiedSessionToken
is no longer needed by the caller.- Specified by:
release
in interfaceReplicator
- Throws:
IOException
-
setExpirationThreshold
public void setExpirationThreshold(long expirationThreshold) throws IOException
Deprecated.Modify session expiration time - if a replication session is inactive that long it is automatically expired, and further attempts to operate within this session will throw aSessionExpiredException
.- Throws:
IOException
-
-