Class ActivationSequenceStateMachine

java.lang.Object
org.apache.activemq.artemis.core.server.impl.quorum.ActivationSequenceStateMachine

public final class ActivationSequenceStateMachine extends Object
This class contains the activation sequence logic of the pluggable lock manager: it should be used by ReplicationBackupActivation and ReplicationPrimaryActivation to coordinate for replication.
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    awaitNextCommittedActivationSequence(org.apache.activemq.artemis.lockmanager.DistributedLockManager distributedManager, String coordinatedLockAndNodeId, long activationSequence, long timeoutMills, Logger logger)
    It wait until timeoutMillis ms has passed or the coordinated activation sequence has progressed enough
    static void
    ensureSequentialAccessToNodeData(String serverDescription, NodeManager nodeManager, org.apache.activemq.artemis.lockmanager.DistributedLockManager distributedManager, Logger logger)
    This is going to increment the coordinated activation sequence and the local activation sequence (using NodeManager.writeNodeActivationSequence(long)) while holding the primary lock, failing with some exception otherwise.
    static org.apache.activemq.artemis.lockmanager.DistributedLock
    tryActivate(NodeManager nodeManager, org.apache.activemq.artemis.lockmanager.DistributedLockManager distributedManager, Logger logger)
    It loops if the data of the broker is still valuable, but cannot become active.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait