org.mariadb.jdbc.internal.failover.impl
Class AuroraListener
java.lang.Object
org.mariadb.jdbc.internal.failover.AbstractMastersListener
org.mariadb.jdbc.internal.failover.AbstractMastersSlavesListener
org.mariadb.jdbc.internal.failover.impl.MastersSlavesListener
org.mariadb.jdbc.internal.failover.impl.AuroraListener
- All Implemented Interfaces:
- Listener
public class AuroraListener
- extends MastersSlavesListener
| Methods inherited from class org.mariadb.jdbc.internal.failover.impl.MastersSlavesListener |
checkInitialConnection, checkWaitingConnection, connectedHosts, foundActiveMaster, foundActiveSecondary, handleFailLoop, initializeConnection, isMasterConnected, lockAndSwitchMaster, lockAndSwitchSecondary, preClose, preExecute, primaryFail, reconnect, removeListenerFromSchedulers, rePrepareOnSlave, secondaryFail, switchReadOnlyConnection |
| Methods inherited from class org.mariadb.jdbc.internal.failover.AbstractMastersListener |
addToBlacklist, canRetryFailLoop, clearBlacklist, closeConnection, getBlacklistKeys, getCurrentProtocol, getLastQueryNanos, getMasterHostFailNanos, getProxy, getRetriesAllDown, getUrlParser, invoke, invoke, isAutoReconnect, isClosed, isExplicitClosed, isMasterHostFail, isQueryRelaunchable, isReadOnly, pingMasterProtocol, preAutoReconnect, relaunchOperation, removeFromBlacklist, resetOldsBlackListHosts, setMasterHostFail, setProxy, setSessionReadOnly, syncConnection, throwFailoverMessage |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AuroraListener
public AuroraListener(UrlParser urlParser)
throws SQLException
- Constructor for Aurora.
This differ from standard failover because :
- we don't know current master, we must check that after initial connection
- master can change after he has a failover
- Parameters:
urlParser - connection informations
- Throws:
SQLException - when connection string contain host with different cluster
getClusterHostAddress
public HostAddress getClusterHostAddress()
reconnectFailedConnection
public void reconnectFailedConnection(SearchFilter searchFilter)
throws SQLException
- Search a valid connection for failed one.
A Node can be a master or a replica depending on the cluster state.
so search for each host until found all the failed connection.
By default, search for the host not down, and recheck the down one after if not found valid connections.
- Specified by:
reconnectFailedConnection in interface Listener- Overrides:
reconnectFailedConnection in class MastersSlavesListener
- Throws:
SQLException - if a connection asked is not found
retrieveAllEndpointsAndSet
public void retrieveAllEndpointsAndSet(Protocol protocol)
throws SQLException
- Retrieves the information necessary to add a new endpoint.
Calls the methods that retrieves the instance identifiers and sets urlParser accordingly.
- Parameters:
protocol - current protocol connected to
- Throws:
SQLException - if connection error occur
searchByStartName
public HostAddress searchByStartName(Protocol secondaryProtocol,
List<HostAddress> loopAddress)
- Looks for the current master/writer instance via the secondary protocol if it is found within 3 attempts.
Should it not be able to connect, the host is blacklisted and null is returned.
Otherwise, it will open a new connection to the cluster endpoint and retrieve the data from there.
- Parameters:
secondaryProtocol - the current secondary protocolloopAddress - list of possible hosts
- Returns:
- the probable master address or null if not found
checkMasterStatus
public boolean checkMasterStatus(SearchFilter searchFilter)
- Description copied from class:
MastersSlavesListener
- Check master status.
- Specified by:
checkMasterStatus in interface Listener- Overrides:
checkMasterStatus in class MastersSlavesListener
- Parameters:
searchFilter - search filter
- Returns:
- has some status changed
Copyright © 2017. All rights reserved.