dk.netarkivet.archive.indexserver.distribute
Class IndexRequestClient
java.lang.Object
dk.netarkivet.archive.indexserver.FileBasedCache<java.util.Set<T>>
dk.netarkivet.archive.indexserver.MultiFileBasedCache<java.lang.Long>
dk.netarkivet.archive.indexserver.distribute.IndexRequestClient
- All Implemented Interfaces:
- JobIndexCache
public class IndexRequestClient
- extends MultiFileBasedCache<java.lang.Long>
- implements JobIndexCache
Client for index request server.
Allows to request an index of some type over a list of jobs. Factory method
will return the index request client of the type wished.
Field Summary |
static java.lang.String |
INDEXREQUEST_TIMEOUT
settings.common.indexClient.indexRequestTimeout:
Setting for the amount of time, in milliseconds, we should wait for
replies when issuing a call to generate an index over some jobs. |
Method Summary |
protected java.util.Set<java.lang.Long> |
cacheData(java.util.Set<java.lang.Long> jobSet)
This method makes sure the actual caching of underlying data is done
using the index server. |
protected long |
getIndexTimeout()
How long should we wait for index replies? |
static IndexRequestClient |
getInstance(RequestType type)
Factory method returning an IndexRequestClient for the given type of
index cache. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INDEXREQUEST_TIMEOUT
public static final java.lang.String INDEXREQUEST_TIMEOUT
- settings.common.indexClient.indexRequestTimeout:
Setting for the amount of time, in milliseconds, we should wait for
replies when issuing a call to generate an index over some jobs.
- See Also:
- Constant Field Values
getInstance
public static IndexRequestClient getInstance(RequestType type)
throws ArgumentNotValid
- Factory method returning an IndexRequestClient for the given type of
index cache.
- Parameters:
type
- The type of this cache.
- Returns:
- The singleton instance dedicated to this type of index requests.
- Throws:
ArgumentNotValid
- if type is null.
cacheData
protected java.util.Set<java.lang.Long> cacheData(java.util.Set<java.lang.Long> jobSet)
throws IOFailure,
IllegalState,
ArgumentNotValid
- This method makes sure the actual caching of underlying data is done
using the index server. It will convert calls into an IndexRequestMessage
which is sent to the server. The Set<Long> of found jobs, and
the side effect of caching the index, is done using this communication
with the server. The resulting files will be unzipped into the cache dir.
This method should not be called directly! Instead call cache() or
getIndex().
- Specified by:
cacheData
in class FileBasedCache<java.util.Set<java.lang.Long>>
- Parameters:
jobSet
- The set of job IDs.
- Returns:
- The set of found job IDs.
- Throws:
ArgumentNotValid
- on null argument; or on wrong parameters in
replied message.
IOFailure
- on trouble in communication or invalid reply types.
IllegalState
- if message is not OK.- See Also:
FileBasedCache.cache(I)
,
FileBasedCache.getIndex(I)
getIndexTimeout
protected long getIndexTimeout()
- How long should we wait for index replies?
- Returns:
- Index timeout value in milliseconds.