@Override public boolean isConnected() { return this.client.isConnected(); }
@Override protected void doStop() { try { if (client.isConnected()) { logger.debug("Stopping binlog reader '{}', last recorded offset: {}", this.name(), lastOffset); client.disconnect(); } cleanupResources(); } catch (IOException e) { logger.error("Unexpected error when disconnecting from the MySQL binary log reader '{}'", this.name(), e); } }
private void checkConnection() throws Exception { if (!binaryLogClient.isConnected()) { BinlogPosition binlogPosition = replicator.getNextBinlogPosition(); if (binlogPosition != null) { binaryLogClient.setBinlogFilename(binlogPosition.getBinlogFilename()); binaryLogClient.setBinlogPosition(binlogPosition.getPosition()); } binaryLogClient.connect(3000); } }
if (!binlogClient.isConnected()) { binlogClient.disconnect(); binlogClient = null;
private void ensureReplicatorThread() throws Exception { checkCommErrors(); if ( !client.isConnected() && !stopOnEOF ) { if (this.gtidPositioning) { // When using gtid positioning, reconnecting should take us to the top // of the gtid event. We throw away any binlog position we have // (other than GTID) and bail out of getTransactionRows() LOGGER.warn("replicator stopped at position: {} -- restarting", client.getGtidSet()); client.setBinlogFilename(""); client.setBinlogPosition(4L); client.connect(5000); throw new ClientReconnectedException(); } else { // standard binlog positioning is a lot easier; we can really reconnect anywhere // we like, so we don't have to bail out of the middle of an event. LOGGER.warn("replicator stopped at position: {} -- restarting", client.getBinlogFilename() + ":" + client.getBinlogPosition()); client.connect(5000); } } }
throw e; if (isConnected()) { for (LifecycleListener lifecycleListener : lifecycleListeners) { lifecycleListener.onEventDeserializationFailure(this, e); if (isConnected()) { eventLastSeen = System.currentTimeMillis(); updateGtidSet(event); if (isConnected()) { for (LifecycleListener lifecycleListener : lifecycleListeners) { lifecycleListener.onCommunicationFailure(this, e); if (isConnected()) { if (completeShutdown) {
if (!binlogClient.isConnected()) { Exception e = lifecycleListener.getException();
if ( client.isConnected() ) continue; else
@Override public void disconnect() { if (this.client != null && this.client.isConnected()) { try { this.client.disconnect(); this.client = null; } catch (IOException exception) { BinaryLogSupplier.LOG.log(Level.SEVERE, "error disconnecting", exception); } } }
if (!binlogClient.isConnected()) { binlogClient.disconnect(); binlogClient = null;
@Override public void connect(Checkpoint checkpoint) { if (this.client == null || !this.client.isConnected()) { this.executor.submit(() -> { for (String hostname : this.hostname) {
if (!binlogClient.isConnected()) { Exception e = lifecycleListener.getException();