public abstract class AbstractMastersSlavesListener 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 |
AbstractMastersSlavesListener(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)
Handle failover on master or slave 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 slave 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, 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, rePrepareOnSlave, 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 AbstractMastersSlavesListener(UrlParser urlParser, GlobalStateInfo globalInfo)
public HandleErrorResult handleFailover(java.sql.SQLException qe, java.lang.reflect.Method method, java.lang.Object[] args, Protocol protocol) throws java.lang.Throwable
handleFailover
in interface Listener
handleFailover
in class AbstractMastersListener
method
- called methodargs
- methods parametersprotocol
- current protocoljava.lang.Throwable
- if method with parameters doesn't existprotected 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.lang.Throwable
java.lang.Throwable
public abstract void foundActiveSecondary(Protocol newSecondaryProtocol) throws java.sql.SQLException
java.sql.SQLException