public abstract class AbstractMastersReplicasListener extends AbstractMastersListener
Modifier and Type | Field and Description |
---|---|
private static Logger |
logger |
private java.util.concurrent.atomic.AtomicBoolean |
secondaryHostFail |
private long |
secondaryHostFailNanos |
protected java.util.concurrent.atomic.AtomicReference<Protocol> |
waitNewMasterProtocol |
protected java.util.concurrent.atomic.AtomicReference<Protocol> |
waitNewSecondaryProtocol |
currentConnectionAttempts, currentProtocol, currentReadOnlyAsked, explicitClosed, globalInfo, lastQueryNanos, lastRetry, proxy, urlParser
Modifier | Constructor and Description |
---|---|
protected |
AbstractMastersReplicasListener(UrlParser urlParser,
GlobalStateInfo globalInfo) |
Modifier and Type | Method and Description |
---|---|
abstract void |
foundActiveSecondary(Protocol newSecondaryProtocol) |
SearchFilter |
getFilterForFailedHost() |
long |
getSecondaryHostFailNanos() |
HandleErrorResult |
handleFailover(java.sql.SQLException qe,
java.lang.reflect.Method method,
java.lang.Object[] args,
Protocol protocol,
boolean isClosed)
Handle failover on master or replica connection.
|
boolean |
hasHostFail() |
boolean |
isMasterHostFailReconnect() |
boolean |
isSecondaryHostFail() |
boolean |
isSecondaryHostFailReconnect() |
protected void |
resetMasterFailoverData() |
protected void |
resetSecondaryFailoverData() |
abstract HandleErrorResult |
secondaryFail(java.lang.reflect.Method method,
java.lang.Object[] args,
boolean killCmd) |
boolean |
setSecondaryHostFail()
Set replica connection lost variables.
|
abortConnection, addToBlacklist, canRetryFailLoop, checkMasterStatus, clearBlacklist, closeConnection, getBlacklistKeys, getCatalog, getCurrentProtocol, getLastQueryNanos, getMajorServerVersion, getMasterHostFailNanos, getProxy, getRetriesAllDown, getTimeout, getUrlParser, handleFailLoop, initializeConnection, inTransaction, invoke, invoke, isAutoReconnect, isClosed, isExplicitClosed, isMasterConnection, isMasterHostFail, isQueryRelaunchable, isReadOnly, isServerMariaDb, isValid, noBackslashEscapes, pingMasterProtocol, preAutoReconnect, preClose, preExecute, primaryFail, prolog, reconnect, reconnectFailedConnection, relaunchOperation, removeFromBlacklist, removeListenerFromSchedulers, resetOldsBlackListHosts, sessionStateAware, setMasterHostFail, setProxy, setSessionReadOnly, switchReadOnlyConnection, syncConnection, throwFailoverMessage, versionGreaterOrEqual
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
foundActiveMaster, getServerThreadId, isMasterConnected, preAbort, rePrepareOnReplica, reset
private static final Logger logger
protected final java.util.concurrent.atomic.AtomicReference<Protocol> waitNewSecondaryProtocol
protected final java.util.concurrent.atomic.AtomicReference<Protocol> waitNewMasterProtocol
private final java.util.concurrent.atomic.AtomicBoolean secondaryHostFail
private volatile long secondaryHostFailNanos
protected AbstractMastersReplicasListener(UrlParser urlParser, GlobalStateInfo globalInfo)
public HandleErrorResult handleFailover(java.sql.SQLException qe, java.lang.reflect.Method method, java.lang.Object[] args, Protocol protocol, boolean isClosed) throws java.sql.SQLException
handleFailover
in interface Listener
handleFailover
in class AbstractMastersListener
method
- called methodargs
- methods parametersprotocol
- current protocoljava.sql.SQLException
- if primary fail reconnection failsprotected void resetMasterFailoverData()
resetMasterFailoverData
in class AbstractMastersListener
protected void resetSecondaryFailoverData()
public long getSecondaryHostFailNanos()
public boolean setSecondaryHostFail()
public boolean isSecondaryHostFail()
public boolean isSecondaryHostFailReconnect()
public boolean isMasterHostFailReconnect()
public boolean hasHostFail()
hasHostFail
in interface Listener
hasHostFail
in class AbstractMastersListener
public SearchFilter getFilterForFailedHost()
getFilterForFailedHost
in interface Listener
getFilterForFailedHost
in class AbstractMastersListener
public abstract HandleErrorResult secondaryFail(java.lang.reflect.Method method, java.lang.Object[] args, boolean killCmd) throws java.sql.SQLException
java.sql.SQLException
public abstract void foundActiveSecondary(Protocol newSecondaryProtocol) throws java.sql.SQLException
java.sql.SQLException