public class GridFSBinaryManager.GridFSBinaryGarbageCollector extends Object implements BinaryGarbageCollector
Modifier and Type | Field and Description |
---|---|
protected static String |
MARK_KEY_PREFIX |
protected String |
msKey |
protected long |
startTime |
protected BinaryManagerStatus |
status |
Constructor and Description |
---|
GridFSBinaryGarbageCollector() |
Modifier and Type | Method and Description |
---|---|
String |
getId()
Gets a unique identifier for this garbage collector.
|
BinaryManagerStatus |
getStatus()
Gets the status of the binaries to GC and of those that won't be.
|
boolean |
isInProgress()
Checks if a GC is in progress.
|
void |
mark(String digest)
Marks a binary as being in use.
|
void |
start()
Starts the garbage collection process.
|
void |
stop(boolean delete)
Stops the garbage collection process and deletes all binaries that have not been marked (sweep).
|
protected BinaryManagerStatus status
protected volatile long startTime
protected static final String MARK_KEY_PREFIX
public GridFSBinaryGarbageCollector()
public String getId()
BinaryGarbageCollector
getId
in interface BinaryGarbageCollector
public BinaryManagerStatus getStatus()
BinaryGarbageCollector
Available after BinaryGarbageCollector.stop(boolean)
.
getStatus
in interface BinaryGarbageCollector
public boolean isInProgress()
BinaryGarbageCollector
A GC is in progress is #start
has been called but not #stop
.
It's only useful to call this from a separate thread from the one that calls BinaryGarbageCollector.mark(java.lang.String)
.
isInProgress
in interface BinaryGarbageCollector
true
if a GC is in progresspublic void mark(String digest)
BinaryGarbageCollector
mark
in interface BinaryGarbageCollector
digest
- the binary's digestpublic void start()
BinaryGarbageCollector
After this, all active binaries must be fed to the BinaryGarbageCollector.mark(java.lang.String)
method.
start
in interface BinaryGarbageCollector
public void stop(boolean delete)
BinaryGarbageCollector
stop
in interface BinaryGarbageCollector
delete
- true
if actual deletion must be performed, false
if the binaries to delete should
simply be counted in the statusCopyright © 2016 Nuxeo SA. All rights reserved.