anchor.diff:  
   Debezium connectors are normally operated by deploying them to a Kafka Connect service, and configuring one or more connectors to monitor upstream databases and produce data change events for all changes that they see in the upstream databases. Those data change events are written to Kafka, where they can be independently consumed by many different applications. Kafka Connect provides excellent fault tolerance and scalability, since it runs as a distributed service and ensures that all registered and configured connectors are always running. For example, even if one of the Kafka Connect endpoints in a cluster goes down, the remaining Kafka Connect endpoints will restart any connectors that were previously running on the now-terminated endpoint, minimizing downtime and eliminating administrative activities.
   
  -Not every application needs this level of fault tolerance and reliability, and they may not want to rely upon an external cluster of Kafka brokers and Kafka Connect services. Instead, some applications would prefer to *embed* Debezium connectors directly within the application space. They still want the same data change events, but prefer to have the connectors send them directly to the application rather than persiste them inside Kafka.
  +Not every application needs this level of fault tolerance and reliability, and they may not want to rely upon an external cluster of Kafka brokers and Kafka Connect services. Instead, some applications would prefer to *embed* Debezium connectors directly within the application space. They still want the same data change events, but prefer to have the connectors send them directly to the application rather than persist them inside Kafka.
   
   This `debezium-embedded` module defines a small library that allows an application to easily configure and run Debezium connectors.
   
  
positive.code:    // Define the configuration for the embedded and MySQL connector ...
      Configuration config = Configuration.create()
                                          /* begin engine properties */
                                          .with("connector.class",  
                                                "io.debezium.connector.mysql.MySqlConnector")
                                          .with("offset.storage",  
                                                "org.apache.kafka.connect.storage.FileOffsetBackingStore")
                                          .with("offset.storage.file.filename",  
                                                "/path/to/storage/offset.dat")
                                          .with("offset.flush.interval.ms", 60000)
  ----
  
  This creates a new `Configuration` object and uses a fluent-style builder API to set several fields required by the engine regardless of which connector is being used. The first is a name for the engine that will be used within the source records produced by the connector and its internal state, so use something meaningful in your application. The `connector.class` field defines the name of the class that extends the Kafka Connect `org.apache.kafka.connect.source.SourceConnector` abstract class; in this example, we specify Debezium's `MySqlConnector` class.
  
negative.code: 
  [source,xml]
  ----
  <dependency>
      <groupId>io.debezium</groupId>
      <artifactId>debezium-embedded</artifactId>
      <version>${version.debezium}</version>
  </dependency>
  ----
  
  where `${version.debezium}` is either the version of Debezium you're using or a Maven property whose value contains the Debezium version string.
  
  Likewise, add dependencies for each of the Debezium connectors that your application will use. For example, the following can be added to your application's Maven POM file so your application can use the MySQL connector:
  
  [source,xml]
  ----
  <dependency>
      <groupId>io.debezium</groupId>
      <artifactId>debezium-connector-mysql</artifactId>
      <version>${version.debezium}</version>
  </dependency>
  ----
  
  Or for the MongoDB connector:
  
  [source,xml]
  ----
  <dependency>
      <groupId>io.debezium</groupId>
      <artifactId>debezium-connector-mongodb</artifactId>
      <version>${version.debezium}</version>
  </dependency>
  ----
  
  The remainder of this document describes embedding the MySQL connector in your application. Other connectors are used in a similar manner, except with connector-specific configuration, topics, and events.
  