Class AbstractBinaryGarbageCollector<T extends CachingBinaryManager>

java.lang.Object
org.nuxeo.ecm.blob.AbstractBinaryGarbageCollector<T>
All Implemented Interfaces:
BinaryGarbageCollector
Direct Known Subclasses:
AzureGarbageCollector, GoogleStorageBinaryManager.GoogleStorageBinaryGarbageCollector, S3BinaryManager.S3BinaryGarbageCollector

@Deprecated(since="2023.9") public abstract class AbstractBinaryGarbageCollector<T extends CachingBinaryManager> extends Object implements BinaryGarbageCollector
Deprecated.
since 2023.9, use AbstractBlobGarbageCollector instead
Since:
7.10
Author:
Arnaud Kervern
  • Field Details

    • binaryManager

      protected T extends CachingBinaryManager binaryManager
      Deprecated.
    • status

      protected BinaryManagerStatus status
      Deprecated.
    • startTime

      protected volatile long startTime
      Deprecated.
    • marked

      protected Set<String> marked
      Deprecated.
    • toDelete

      protected Set<String> toDelete
      Deprecated.
  • Constructor Details

    • AbstractBinaryGarbageCollector

      protected AbstractBinaryGarbageCollector(T binaryManager)
      Deprecated.
  • Method Details

    • start

      public void start()
      Deprecated.
      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 interface BinaryGarbageCollector
    • computeToDelete

      public void computeToDelete()
      Deprecated.
      Computes keys candidate for deletion.

      Overrides should not call super (this allows detecting old implementations).

      Since:
      11.5
    • stop

      public void stop(boolean delete)
      Deprecated.
      Description copied from interface: BinaryGarbageCollector
      Stops the garbage collection process and deletes all binaries that have not been marked (sweep).
      Specified by:
      stop in interface BinaryGarbageCollector
      Parameters:
      delete - true if actual deletion must be performed, false if the binaries to delete should simply be counted in the status
    • removeUnmarkedBlobsAndUpdateStatus

      protected void removeUnmarkedBlobsAndUpdateStatus(boolean delete)
      Deprecated.
    • getUnmarkedBlobs

      public Set<String> getUnmarkedBlobs()
      Deprecated.
    • mark

      public void mark(String digest)
      Deprecated.
      Description copied from interface: BinaryGarbageCollector
      Marks a binary as being in use.
      Specified by:
      mark in interface BinaryGarbageCollector
      Parameters:
      digest - the binary's digest
    • getStatus

      public BinaryManagerStatus getStatus()
      Deprecated.
      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 interface BinaryGarbageCollector
      Returns:
      the status
    • isInProgress

      public boolean isInProgress()
      Deprecated.
      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 interface BinaryGarbageCollector
      Returns:
      true if a GC is in progress