java.lang.Object
java.lang.ref.Reference<RrdDb>
java.lang.ref.PhantomReference<RrdDb>
org.rrd4j.core.RrdBackendFactory.ClosingReference
Enclosing class:
RrdBackendFactory

private static class RrdBackendFactory.ClosingReferenceextends PhantomReference<RrdDb>
Phantom reference that closes the backend when the RRD database is garbage collected.
  • Field Details

    • backend

      private RrdBackend backend
      The backend to close, null once it has been closed.
  • Constructor Details

    • ClosingReference

      public ClosingReference(RrdDb db, RrdBackend backend, ReferenceQueue<? super RrdDb> q)
      Creates a new closing reference.
      Parameters:
      db - the RRD database to reference
      backend - the backend to close
      q - the reference queue
  • Method Details

    • clear

      public void clear()
      Closes the wrapped backend before clearing the cached instance.
      Overrides:
      clear in class Reference<RrdDb>