public class SimpleDistributionQueue extends Object implements DistributionQueue
DistributionQueue.
Note that, at the moment, this is a transient in memory queue not persisted on the repository and
therefore not usable for production.
Note: potentially the Queue could contain the ordered package ids, with a sidecar map id->item;
that way removal could be faster.| Constructor and Description |
|---|
SimpleDistributionQueue(String agentName,
String name) |
| Modifier and Type | Method and Description |
|---|---|
DistributionQueueEntry |
add(@NotNull DistributionQueueItem item)
add a distribution item to this queue
|
@NotNull Iterable<DistributionQueueEntry> |
clear(int limit)
Clear a range of entries from the queue.
|
@NotNull Iterable<DistributionQueueEntry> |
getEntries(int skip,
int limit)
get all the entries in the queue
|
@Nullable DistributionQueueEntry |
getEntry(@NotNull String id)
gets an entry from the queue by specifying its id
|
@Nullable DistributionQueueEntry |
getHead()
get the first entry (in a FIFO strategy, the next to be processed) from the queue
|
@NotNull String |
getName()
get this queue name
|
@NotNull DistributionQueueStatus |
getStatus()
get the status of the queue
|
@NotNull DistributionQueueType |
getType()
get the type of this queue
|
boolean |
hasCapability(@NotNull String capability) |
void |
recordProcessingAttempt(@NotNull DistributionQueueEntry entry) |
@NotNull Iterable<DistributionQueueEntry> |
remove(@NotNull Set<String> entryIds)
Remove a set entries from the queue by specifying their identifiers.
|
@Nullable DistributionQueueEntry |
remove(@NotNull String id)
remove an entry from the queue by specifying its id
|
String |
toString() |
@NotNull public @NotNull String getName()
DistributionQueuegetName in interface DistributionQueuepublic DistributionQueueEntry add(@NotNull @NotNull DistributionQueueItem item)
DistributionQueueadd in interface DistributionQueueitem - a distribution item, typically representing a DistributionPackage
to distributenoll if none is created@Nullable public @Nullable DistributionQueueEntry getHead()
DistributionQueuegetHead in interface DistributionQueuenull if the queue is empty@NotNull public @NotNull DistributionQueueStatus getStatus()
DistributionQueuegetStatus in interface DistributionQueue@NotNull public @NotNull DistributionQueueType getType()
DistributionQueuegetType in interface DistributionQueuepublic boolean hasCapability(@NotNull
@NotNull String capability)
hasCapability in interface DistributionQueuetrue if the queue supports the capability ;
false otherwise@NotNull public @NotNull Iterable<DistributionQueueEntry> getEntries(int skip, int limit)
DistributionQueuegetEntries in interface DistributionQueueskip - the number of entries to skiplimit - the maximum number of entries to return. use -1 to return all entries.Iterable of DistributionQueueEntry entries@Nullable public @Nullable DistributionQueueEntry getEntry(@NotNull @NotNull String id)
DistributionQueuegetEntry in interface DistributionQueueid - the entry identifiernull if the entry with the given id
doesn't exist@NotNull public @NotNull Iterable<DistributionQueueEntry> remove(@NotNull @NotNull Set<String> entryIds)
DistributionQueueremove in interface DistributionQueueentryIds - The identifiers of the entries to be removed@Nullable public @Nullable DistributionQueueEntry remove(@NotNull @NotNull String id)
DistributionQueueremove in interface DistributionQueueid - the entry identifiernull if the entry with the given id
doesn't exist@NotNull public @NotNull Iterable<DistributionQueueEntry> clear(int limit)
DistributionQueueclear in interface DistributionQueuelimit - The maximum number of entries to remove. All entries
are removed when the limit is -1.public void recordProcessingAttempt(@NotNull
@NotNull DistributionQueueEntry entry)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.