Package org.dspace.curate
Class FileTaskQueue
- java.lang.Object
-
- org.dspace.curate.FileTaskQueue
-
-
Constructor Summary
Constructors Constructor Description FileTaskQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<TaskQueueEntry>dequeue(String queueName, long ticket)Returns the set of task entries from the named queue.voidenqueue(String queueName, Set<TaskQueueEntry> entrySet)Queues a set of task entries to a named queue.voidenqueue(String queueName, TaskQueueEntry entry)Queues a single entry to a named queue.protected FileensureQueue(String queueName)String[]queueNames()Returns list of queue names.voidrelease(String queueName, long ticket, boolean remove)Releases the lock upon the named queue, deleting it ifremoveEntriesis set to true.
-
-
-
Method Detail
-
queueNames
public String[] queueNames()
Description copied from interface:TaskQueueReturns list of queue names.- Specified by:
queueNamesin interfaceTaskQueue- Returns:
- queues the list of names of active queues
-
enqueue
public void enqueue(String queueName, TaskQueueEntry entry) throws IOException
Description copied from interface:TaskQueueQueues a single entry to a named queue.- Specified by:
enqueuein interfaceTaskQueue- Parameters:
queueName- the name of the queue on which to writeentry- the task entry- Throws:
IOException- if IO error
-
enqueue
public void enqueue(String queueName, Set<TaskQueueEntry> entrySet) throws IOException
Description copied from interface:TaskQueueQueues a set of task entries to a named queue.- Specified by:
enqueuein interfaceTaskQueue- Parameters:
queueName- the name of the queue on which to writeentrySet- the set of task entries- Throws:
IOException- if IO error
-
dequeue
public Set<TaskQueueEntry> dequeue(String queueName, long ticket) throws IOException
Description copied from interface:TaskQueueReturns the set of task entries from the named queue. The operation locks the queue from any further enqueue or dequeue operations until areleaseis called. The ticket may be any number, but a timestamp should guarantee sufficient uniqueness.- Specified by:
dequeuein interfaceTaskQueue- Parameters:
queueName- the name of the queue to readticket- a token which must be presented to release the queue- Returns:
- set the current set of queued task entries
- Throws:
IOException- if IO error
-
release
public void release(String queueName, long ticket, boolean remove)
Description copied from interface:TaskQueueReleases the lock upon the named queue, deleting it ifremoveEntriesis set to true.
-
-