Class AbstractMastersReplicasListener
- java.lang.Object
-
- org.mariadb.jdbc.internal.failover.AbstractMastersListener
-
- org.mariadb.jdbc.internal.failover.AbstractMastersReplicasListener
-
- All Implemented Interfaces:
Listener
- Direct Known Subclasses:
MastersReplicasListener
public abstract class AbstractMastersReplicasListener extends AbstractMastersListener
-
-
Field Summary
Fields Modifier and Type Field Description protected AtomicReference<Protocol>waitNewMasterProtocolprotected AtomicReference<Protocol>waitNewSecondaryProtocol-
Fields inherited from class org.mariadb.jdbc.internal.failover.AbstractMastersListener
currentConnectionAttempts, currentProtocol, currentReadOnlyAsked, explicitClosed, globalInfo, lastQueryNanos, lastRetry, proxy, urlParser
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractMastersReplicasListener(UrlParser urlParser, GlobalStateInfo globalInfo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidfoundActiveSecondary(Protocol newSecondaryProtocol)SearchFiltergetFilterForFailedHost()longgetSecondaryHostFailNanos()HandleErrorResulthandleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed)Handle failover on master or replica connection.booleanhasHostFail()booleanisMasterHostFailReconnect()booleanisSecondaryHostFail()booleanisSecondaryHostFailReconnect()protected voidresetMasterFailoverData()protected voidresetSecondaryFailoverData()abstract HandleErrorResultsecondaryFail(Method method, Object[] args, boolean killCmd)booleansetSecondaryHostFail()Set replica connection lost variables.-
Methods inherited from class org.mariadb.jdbc.internal.failover.AbstractMastersListener
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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.mariadb.jdbc.internal.failover.Listener
foundActiveMaster, getServerThreadId, isMasterConnected, preAbort, rePrepareOnReplica, reset
-
-
-
-
Field Detail
-
waitNewSecondaryProtocol
protected final AtomicReference<Protocol> waitNewSecondaryProtocol
-
waitNewMasterProtocol
protected final AtomicReference<Protocol> waitNewMasterProtocol
-
-
Constructor Detail
-
AbstractMastersReplicasListener
protected AbstractMastersReplicasListener(UrlParser urlParser, GlobalStateInfo globalInfo)
-
-
Method Detail
-
handleFailover
public HandleErrorResult handleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed) throws SQLException
Handle failover on master or replica connection.- Specified by:
handleFailoverin interfaceListener- Overrides:
handleFailoverin classAbstractMastersListener- Parameters:
method- called methodargs- methods parametersprotocol- current protocol- Returns:
- HandleErrorResult object to indicate if query has finally been relaunched or exception if not.
- Throws:
SQLException- if primary fail reconnection fails
-
resetMasterFailoverData
protected void resetMasterFailoverData()
- Overrides:
resetMasterFailoverDatain classAbstractMastersListener
-
resetSecondaryFailoverData
protected void resetSecondaryFailoverData()
-
getSecondaryHostFailNanos
public long getSecondaryHostFailNanos()
-
setSecondaryHostFail
public boolean setSecondaryHostFail()
Set replica connection lost variables.- Returns:
- true if fail wasn't seen before
-
isSecondaryHostFail
public boolean isSecondaryHostFail()
-
isSecondaryHostFailReconnect
public boolean isSecondaryHostFailReconnect()
-
isMasterHostFailReconnect
public boolean isMasterHostFailReconnect()
-
hasHostFail
public boolean hasHostFail()
- Specified by:
hasHostFailin interfaceListener- Overrides:
hasHostFailin classAbstractMastersListener
-
getFilterForFailedHost
public SearchFilter getFilterForFailedHost()
- Specified by:
getFilterForFailedHostin interfaceListener- Overrides:
getFilterForFailedHostin classAbstractMastersListener
-
secondaryFail
public abstract HandleErrorResult secondaryFail(Method method, Object[] args, boolean killCmd) throws SQLException
- Throws:
SQLException
-
foundActiveSecondary
public abstract void foundActiveSecondary(Protocol newSecondaryProtocol) throws SQLException
- Throws:
SQLException
-
-