Class FileBasedPrimitiveManager

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.apache.activemq.artemis.quorum.DistributedPrimitiveManager

    public class FileBasedPrimitiveManager
    extends java.lang.Object
    implements org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
    This is an implementation suitable to be used just on unit tests and it won't attempt to manage nor purge existing stale locks files. It's part of the tests life-cycle to properly set-up and tear-down the environment.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager

        org.apache.activemq.artemis.quorum.DistributedPrimitiveManager.UnavailableManagerListener
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addUnavailableManagerListener​(org.apache.activemq.artemis.quorum.DistributedPrimitiveManager.UnavailableManagerListener listener)  
      org.apache.activemq.artemis.quorum.DistributedLock getDistributedLock​(java.lang.String lockId)  
      org.apache.activemq.artemis.quorum.MutableLong getMutableLong​(java.lang.String mutableLongId)  
      boolean isStarted()  
      void removeUnavailableManagerListener​(org.apache.activemq.artemis.quorum.DistributedPrimitiveManager.UnavailableManagerListener listener)  
      void start()  
      boolean start​(long timeout, java.util.concurrent.TimeUnit unit)  
      void stop()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager

        close
    • Constructor Detail

      • FileBasedPrimitiveManager

        public FileBasedPrimitiveManager​(java.util.Map<java.lang.String,​java.lang.String> args)
      • FileBasedPrimitiveManager

        public FileBasedPrimitiveManager​(java.io.File locksFolder)
    • Method Detail

      • isStarted

        public boolean isStarted()
        Specified by:
        isStarted in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
      • addUnavailableManagerListener

        public void addUnavailableManagerListener​(org.apache.activemq.artemis.quorum.DistributedPrimitiveManager.UnavailableManagerListener listener)
        Specified by:
        addUnavailableManagerListener in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
      • removeUnavailableManagerListener

        public void removeUnavailableManagerListener​(org.apache.activemq.artemis.quorum.DistributedPrimitiveManager.UnavailableManagerListener listener)
        Specified by:
        removeUnavailableManagerListener in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
      • start

        public boolean start​(long timeout,
                             java.util.concurrent.TimeUnit unit)
                      throws java.lang.InterruptedException,
                             java.util.concurrent.ExecutionException
        Specified by:
        start in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • start

        public void start()
                   throws java.lang.InterruptedException,
                          java.util.concurrent.ExecutionException
        Specified by:
        start in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • stop

        public void stop()
        Specified by:
        stop in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
      • getDistributedLock

        public org.apache.activemq.artemis.quorum.DistributedLock getDistributedLock​(java.lang.String lockId)
                                                                              throws java.util.concurrent.ExecutionException
        Specified by:
        getDistributedLock in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
        Throws:
        java.util.concurrent.ExecutionException
      • getMutableLong

        public org.apache.activemq.artemis.quorum.MutableLong getMutableLong​(java.lang.String mutableLongId)
                                                                      throws java.util.concurrent.ExecutionException
        Specified by:
        getMutableLong in interface org.apache.activemq.artemis.quorum.DistributedPrimitiveManager
        Throws:
        java.util.concurrent.ExecutionException