public class FileLockNodeManager extends FileBasedNodeManager
Modifier and Type | Class and Description |
---|---|
class |
FileLockNodeManager.MonitorLock |
NodeManager.LockListener, NodeManager.NodeManagerException
Modifier and Type | Field and Description |
---|---|
protected boolean |
interrupted |
channel, FIRST_TIME_START, SERVER_LOCK_NAME
nodeIDGuard, replicatedBackup
Constructor and Description |
---|
FileLockNodeManager(File directory,
boolean replicatedBackup) |
FileLockNodeManager(File directory,
boolean replicatedBackup,
long lockAcquisitionTimeout,
ScheduledExecutorService scheduledPool) |
FileLockNodeManager(File directory,
boolean replicatedBackup,
ScheduledExecutorService scheduledPool) |
Modifier and Type | Method and Description |
---|---|
void |
awaitLiveNode() |
void |
awaitLiveStatus() |
void |
crashLiveServer() |
void |
interrupt() |
boolean |
isAwaitingFailback() |
boolean |
isBackupLive() |
boolean |
isLiveLocked() |
protected FileLock |
lock(int lockPosition) |
protected void |
notifyLostLock() |
void |
pauseLiveServer() |
SimpleString |
readNodeId() |
void |
releaseBackup() |
protected void |
setUpServerLockFile()
Ensures existence of persistent information about the server's nodeID.
|
void |
start() |
void |
startBackup() |
ActivateCallback |
startLiveNode() |
void |
stop() |
protected FileLock |
tryLock(int lockPos) |
createNodeId, newFile, stopBackup
checkStarted, getNodeId, getUUID, isStarted, registerLockListener, setNodeID, setUUID, unregisterLockListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asyncStop
public FileLockNodeManager(File directory, boolean replicatedBackup, ScheduledExecutorService scheduledPool)
public FileLockNodeManager(File directory, boolean replicatedBackup)
public FileLockNodeManager(File directory, boolean replicatedBackup, long lockAcquisitionTimeout, ScheduledExecutorService scheduledPool)
public void start() throws Exception
start
in interface ActiveMQComponent
start
in class NodeManager
Exception
protected void setUpServerLockFile() throws IOException
FileBasedNodeManager
Roughly the different use cases are:
setUpServerLockFile
in class FileBasedNodeManager
IOException
public void stop() throws Exception
stop
in interface ActiveMQComponent
stop
in class FileBasedNodeManager
Exception
public boolean isAwaitingFailback() throws NodeManager.NodeManagerException
isAwaitingFailback
in class NodeManager
NodeManager.NodeManagerException
public boolean isBackupLive() throws NodeManager.NodeManagerException
isBackupLive
in class NodeManager
NodeManager.NodeManagerException
public boolean isLiveLocked()
public void interrupt()
interrupt
in class NodeManager
public final void releaseBackup() throws NodeManager.NodeManagerException
releaseBackup
in class NodeManager
NodeManager.NodeManagerException
public void awaitLiveNode() throws NodeManager.NodeManagerException, InterruptedException
awaitLiveNode
in class NodeManager
NodeManager.NodeManagerException
InterruptedException
public void startBackup() throws NodeManager.NodeManagerException
startBackup
in class NodeManager
NodeManager.NodeManagerException
public ActivateCallback startLiveNode() throws NodeManager.NodeManagerException
startLiveNode
in class NodeManager
NodeManager.NodeManagerException
public void pauseLiveServer() throws NodeManager.NodeManagerException
pauseLiveServer
in class NodeManager
NodeManager.NodeManagerException
public void crashLiveServer() throws NodeManager.NodeManagerException
crashLiveServer
in class NodeManager
NodeManager.NodeManagerException
public void awaitLiveStatus() throws NodeManager.NodeManagerException, InterruptedException
awaitLiveStatus
in class NodeManager
NodeManager.NodeManagerException
InterruptedException
public final SimpleString readNodeId() throws NodeManager.NodeManagerException
readNodeId
in class NodeManager
NodeManager.NodeManagerException
protected FileLock tryLock(int lockPos) throws IOException
IOException
protected FileLock lock(int lockPosition) throws ActiveMQLockAcquisitionTimeoutException
protected void notifyLostLock()
notifyLostLock
in class NodeManager
Copyright © 2021 JBoss by Red Hat. All rights reserved.