public BinaryLogClientStatistics(BinaryLogClient binaryLogClient) { binaryLogClient.registerEventListener(this); binaryLogClient.registerLifecycleListener(this); }
registerLifecycleListener(connectListener); final AtomicReference<IOException> exceptionReference = new AtomicReference<IOException>(); Runnable runnable = new Runnable() {
lifecycleListener = createBinlogLifecycleListener(); binlogClient.registerLifecycleListener(lifecycleListener);
this.client.setBlocking(!stopOnEOF); this.client.registerEventListener(binlogEventListener); this.client.registerLifecycleListener(binlogLifecycleListener); this.client.setServerId(replicaServerID.intValue());
protected void startClient(Consumer<BinaryLogClient> preConnect) throws IOException, TimeoutException, SQLException { // Connect the bin log client ... counters = new EventQueue(DEFAULT_TIMEOUT, this::logConsumedEvent, this::logIgnoredEvent); client = new BinaryLogClient(config.getHostname(), config.getPort(), "replicator", "replpass"); client.setServerId(client.getServerId() - 1); // avoid clashes between BinaryLogClient instances client.setKeepAlive(false); client.setSSLMode(SSLMode.DISABLED); client.registerEventListener(counters); client.registerEventListener(this::recordEvent); client.registerLifecycleListener(new TraceLifecycleListener()); EventDeserializer eventDeserializer = new EventDeserializer(); eventDeserializer.setEventDataDeserializer(EventType.STOP, new StopEventDataDeserializer()); client.setEventDeserializer(eventDeserializer); if (preConnect != null) preConnect.accept(client); client.connect(DEFAULT_TIMEOUT); // does not block // Set up the table as one transaction and wait to see the events ... conn.execute("DROP TABLE IF EXISTS person", "CREATE TABLE person (" + " name VARCHAR(255) primary key," + " age INTEGER NULL DEFAULT 10," + " createdAt DATETIME NULL DEFAULT CURRENT_TIMESTAMP," + " updatedAt DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" + ")"); counters.consume(2, EventType.QUERY); counters.reset(); }
: (new EventBuffer(context.bufferSizeForBinlogReader(), this))::add); client.registerLifecycleListener(new ReaderThreadLifecycleListener()); if (logger.isDebugEnabled()) client.registerEventListener(this::logEvent);
client.registerLifecycleListener(lifecycleListener); client.registerEventListener(new MySQLBinaryLogEventListener(database, cache, catalog));
lifecycleListener = createBinlogLifecycleListener(); binlogClient.registerLifecycleListener(lifecycleListener);
client.registerLifecycleListener(lifecycleListener); client.registerEventListener(new MySQLBinaryLogEventListener(database, cache, schema, recordTableName));
protected void startClient(Consumer<BinaryLogClient> preConnect) throws IOException, TimeoutException, SQLException { // Connect the bin log client ... counters = new EventQueue(DEFAULT_TIMEOUT, this::logConsumedEvent, this::logIgnoredEvent); client = new BinaryLogClient(config.getHostname(), config.getPort(), "replicator", "replpass"); client.setServerId(client.getServerId() - 1); // avoid clashes between BinaryLogClient instances client.setKeepAlive(false); client.setSSLMode(SSLMode.DISABLED); client.registerEventListener(counters); client.registerEventListener(this::recordEvent); client.registerLifecycleListener(new TraceLifecycleListener()); EventDeserializer eventDeserializer = new EventDeserializer(); eventDeserializer.setEventDataDeserializer(EventType.STOP, new StopEventDataDeserializer()); client.setEventDeserializer(eventDeserializer); if (preConnect != null) preConnect.accept(client); client.connect(DEFAULT_TIMEOUT); // does not block // Set up the table as one transaction and wait to see the events ... conn.execute("DROP TABLE IF EXISTS person", "CREATE TABLE person (" + " name VARCHAR(255) primary key," + " age INTEGER NULL DEFAULT 10," + " createdAt DATETIME NULL DEFAULT CURRENT_TIMESTAMP," + " updatedAt DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" + ")"); counters.consume(2, EventType.QUERY); counters.reset(); }