com.atlassian.confluence.search.lucene
Interface IndexTaskQueue

All Known Implementing Classes:
InMemoryIndexTaskQueue, JournalIndexTaskQueue

public interface IndexTaskQueue

Confluence queues all of its index requests and then executes them in bulk. The indexTaskQueue is there to assist in the queueing the tasks until they are ready to be processed.


Method Summary
 void enqueue(IndexTask task)
          Add a new task to this queue.
 void enqueueAll(Collection<IndexTask> tasks)
          Add a collection of tasks to this queue.
 List<IndexTask> flushQueue()
          Deprecated. Since 5.6. Use flushQueue(com.atlassian.fugue.Effect, int) instead.
 int flushQueue(com.atlassian.fugue.Effect<IndexTask> action)
          Flush the contents of the queue, applying the given action to each flushed entry.
 int flushQueue(com.atlassian.fugue.Effect<IndexTask> action, int numberOfEntries)
          Flush the contents of the queue, applying the given action to each flushed entry.
 List<IndexTask> flushQueue(int numberOfEntries)
          Deprecated. Since 5.6. Use flushQueue(com.atlassian.fugue.Effect, int) instead.
 List<IndexTask> getQueuedEntries()
          Retrieve a list of all of the queued entries.
 int getSize()
          Retrieve the number of elements in the queue.
 void reset()
          Remove all queued index tasks from this queue.
 

Method Detail

getSize

int getSize()
Retrieve the number of elements in the queue.

Returns:
size of the queue.

getQueuedEntries

List<IndexTask> getQueuedEntries()
Retrieve a list of all of the queued entries.

Returns:
a list of IndexTask instances.

enqueue

void enqueue(IndexTask task)
Add a new task to this queue.

Parameters:
task -

enqueueAll

void enqueueAll(Collection<IndexTask> tasks)
Add a collection of tasks to this queue.

Parameters:
tasks -

flushQueue

@Deprecated
List<IndexTask> flushQueue(int numberOfEntries)
Deprecated. Since 5.6. Use flushQueue(com.atlassian.fugue.Effect, int) instead.

Flush the contents of the queue, returning those elements currently queued as the result.

Tasks that were added immediately before calling this method are not returned. See flushQueue() for an alternative.

Parameters:
numberOfEntries - the maximum number of entries to return. This should return the n first entries in the queue.
Returns:
the list of entries on the queue when it was flushed.

flushQueue

@Deprecated
List<IndexTask> flushQueue()
Deprecated. Since 5.6. Use flushQueue(com.atlassian.fugue.Effect, int) instead.

Flush the contents of the queue, returning those elements currently queued as the result.

This method waits until tasks that we added immediately before calling this method are available. See flushQueue(int) for an alternative.

Returns:
the list of entries on the queue when it was flushed.

flushQueue

int flushQueue(com.atlassian.fugue.Effect<IndexTask> action)
Flush the contents of the queue, applying the given action to each flushed entry.

This method waits until tasks that we added immediately before calling this method are available. See flushQueue(com.atlassian.fugue.Effect, int) for an alternative.

Parameters:
action - action to perform for each entry
Returns:
the number of entries that were flushed.
Since:
5.6

flushQueue

int flushQueue(com.atlassian.fugue.Effect<IndexTask> action,
               int numberOfEntries)
Flush the contents of the queue, applying the given action to each flushed entry.

Tasks that were added immediately before calling this method are not returned. See flushQueue(com.atlassian.fugue.Effect) for an alternative.

Parameters:
action - action to perform for each entry
numberOfEntries - the maximum number of entries to flush. This should flush the n first entries in the queue.
Returns:
the number of entries that were flushed.
Since:
5.6

reset

void reset()
Remove all queued index tasks from this queue.



Copyright © 2003–2015 Atlassian. All rights reserved.