Class AbstractMastersSlavesListener
java.lang.Object
org.mariadb.jdbc.internal.failover.AbstractMastersListener
org.mariadb.jdbc.internal.failover.AbstractMastersSlavesListener
- All Implemented Interfaces:
Listener
- Direct Known Subclasses:
MastersSlavesListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Logger
private final AtomicBoolean
private long
protected final AtomicReference<Protocol>
protected final AtomicReference<Protocol>
Fields inherited from class org.mariadb.jdbc.internal.failover.AbstractMastersListener
currentConnectionAttempts, currentProtocol, currentReadOnlyAsked, explicitClosed, globalInfo, lastQueryNanos, lastRetry, proxy, urlParser
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractMastersSlavesListener
(UrlParser urlParser, GlobalStateInfo globalInfo) -
Method Summary
Modifier and TypeMethodDescriptionabstract void
foundActiveSecondary
(Protocol newSecondaryProtocol) long
handleFailover
(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed) Handle failover on master or slave connection.boolean
boolean
boolean
boolean
protected void
protected void
abstract HandleErrorResult
secondaryFail
(Method method, Object[] args, boolean killCmd) boolean
Set slave 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, rePrepareOnSlave, reset
-
Field Details
-
logger
-
waitNewSecondaryProtocol
-
waitNewMasterProtocol
-
secondaryHostFail
-
secondaryHostFailNanos
private volatile long secondaryHostFailNanos
-
-
Constructor Details
-
AbstractMastersSlavesListener
-
-
Method Details
-
handleFailover
public HandleErrorResult handleFailover(SQLException qe, Method method, Object[] args, Protocol protocol, boolean isClosed) throws SQLException Handle failover on master or slave connection.- Specified by:
handleFailover
in interfaceListener
- Overrides:
handleFailover
in 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:
resetMasterFailoverData
in classAbstractMastersListener
-
resetSecondaryFailoverData
protected void resetSecondaryFailoverData() -
getSecondaryHostFailNanos
public long getSecondaryHostFailNanos() -
setSecondaryHostFail
public boolean setSecondaryHostFail()Set slave 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:
hasHostFail
in interfaceListener
- Overrides:
hasHostFail
in classAbstractMastersListener
-
getFilterForFailedHost
- Specified by:
getFilterForFailedHost
in interfaceListener
- Overrides:
getFilterForFailedHost
in classAbstractMastersListener
-
secondaryFail
public abstract HandleErrorResult secondaryFail(Method method, Object[] args, boolean killCmd) throws SQLException - Throws:
SQLException
-
foundActiveSecondary
- Throws:
SQLException
-