Class ReferenceCounterUtil

java.lang.Object
org.apache.activemq.artemis.utils.ReferenceCounterUtil
All Implemented Interfaces:
AutoCloseable, ReferenceCounter
Direct Known Subclasses:
QueueManagerImpl, TransientQueueManagerImpl

public class ReferenceCounterUtil extends Object implements ReferenceCounter, AutoCloseable
  • Constructor Details

    • ReferenceCounterUtil

      public ReferenceCounterUtil()
    • ReferenceCounterUtil

      public ReferenceCounterUtil(Executor executor)
    • ReferenceCounterUtil

      public ReferenceCounterUtil(Runnable runnable, Executor executor)
    • ReferenceCounterUtil

      public ReferenceCounterUtil(Runnable runnable)
  • Method Details

    • setTask

      public void setTask(Runnable task)
      Specified by:
      setTask in interface ReferenceCounter
    • getTask

      public Runnable getTask()
      Specified by:
      getTask in interface ReferenceCounter
    • increment

      public int increment()
      Specified by:
      increment in interface ReferenceCounter
    • decrement

      public int decrement()
      Specified by:
      decrement in interface ReferenceCounter
    • exhaust

      public void exhaust()
      it will set the value all the way to 0, and execute the task meant for when the value was 0.
    • check

      public void check()
      Description copied from interface: ReferenceCounter
      Some asynchronous operations (like ack) may delay certain conditions. After met, during afterCompletion we may need to recheck certain values to make sure we won't get into a situation where the condition was met asynchronously and queues not removed.
      Specified by:
      check in interface ReferenceCounter
    • getCount

      public int getCount()
      Specified by:
      getCount in interface ReferenceCounter
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable