Package org.nuxeo.ecm.core.blob
Class CachingBlobStore.CachingBinaryGarbageCollector
java.lang.Object
org.nuxeo.ecm.core.blob.CachingBlobStore.CachingBinaryGarbageCollector
- All Implemented Interfaces:
BinaryGarbageCollector
- Enclosing class:
- CachingBlobStore
public class CachingBlobStore.CachingBinaryGarbageCollector
extends Object
implements BinaryGarbageCollector
Garbage collector that delegates to the underlying one, but purges the cache after an actual GC is done.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final BinaryGarbageCollector
protected final BinaryGarbageCollector
-
Constructor Summary
ConstructorDescriptionDeprecated.since 11.5 -
Method Summary
Modifier and TypeMethodDescriptiongetId()
Gets a unique identifier for this garbage collector.Gets the status of the binaries to GC and of those that won't be.boolean
Checks if a GC is in progress.void
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).
-
Field Details
-
delegate
-
cacheDelegate
-
-
Constructor Details
-
CachingBinaryGarbageCollector
public CachingBinaryGarbageCollector() -
CachingBinaryGarbageCollector
Deprecated.since 11.5
-
-
Method Details
-
getId
Description copied from interface:BinaryGarbageCollector
Gets a unique identifier for this garbage collector. Two garbage collectors that would impact the same files must have the same identifier.- Specified by:
getId
in interfaceBinaryGarbageCollector
- Returns:
- a unique identifier
-
start
public void start()Description copied from interface:BinaryGarbageCollector
Starts the garbage collection process.After this, all active binaries must be fed to the
BinaryGarbageCollector.mark(java.lang.String)
method.- Specified by:
start
in interfaceBinaryGarbageCollector
-
mark
Description copied from interface:BinaryGarbageCollector
Marks a binary as being in use.- Specified by:
mark
in interfaceBinaryGarbageCollector
- Parameters:
key
- the binary's digest
-
stop
public void stop(boolean delete) Description copied from interface:BinaryGarbageCollector
Stops the garbage collection process and deletes all binaries that have not been marked (sweep).- Specified by:
stop
in interfaceBinaryGarbageCollector
- Parameters:
delete
-true
if actual deletion must be performed,false
if the binaries to delete should simply be counted in the status
-
getStatus
Description copied from interface:BinaryGarbageCollector
Gets the status of the binaries to GC and of those that won't be.Available after
BinaryGarbageCollector.stop(boolean)
.- Specified by:
getStatus
in interfaceBinaryGarbageCollector
- Returns:
- the status
-
isInProgress
public boolean isInProgress()Description copied from interface:BinaryGarbageCollector
Checks if a GC is in progress.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)
.- Specified by:
isInProgress
in interfaceBinaryGarbageCollector
- Returns:
true
if a GC is in progress
-