{"id":23338401,"url":"https://github.com/abhirockzz/debezium-javaee-test-drive","last_synced_at":"2026-02-08T20:13:37.596Z","repository":{"id":79124938,"uuid":"93746968","full_name":"abhirockzz/debezium-javaee-test-drive","owner":"abhirockzz","description":"Debezium Java EE test drive...","archived":false,"fork":false,"pushed_at":"2017-06-09T13:42:09.000Z","size":1253,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-03T20:48:26.202Z","etag":null,"topics":["cdc","debezium","docker","javaee","kafka","mysql"],"latest_commit_sha":null,"homepage":"https://simplydistributed.wordpress.com/2017/06/09/debezium-test-drive/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abhirockzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-08T12:28:34.000Z","updated_at":"2024-05-22T15:59:07.000Z","dependencies_parsed_at":"2023-03-11T07:00:45.347Z","dependency_job_id":null,"html_url":"https://github.com/abhirockzz/debezium-javaee-test-drive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abhirockzz/debezium-javaee-test-drive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhirockzz%2Fdebezium-javaee-test-drive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhirockzz%2Fdebezium-javaee-test-drive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhirockzz%2Fdebezium-javaee-test-drive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhirockzz%2Fdebezium-javaee-test-drive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abhirockzz","download_url":"https://codeload.github.com/abhirockzz/debezium-javaee-test-drive/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhirockzz%2Fdebezium-javaee-test-drive/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29241939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T19:36:48.828Z","status":"ssl_error","status_checked_at":"2026-02-08T19:27:12.336Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdc","debezium","docker","javaee","kafka","mysql"],"created_at":"2024-12-21T03:13:49.078Z","updated_at":"2026-02-08T20:13:37.580Z","avatar_url":"https://github.com/abhirockzz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Test drive [**Debezium**](http://debezium.io), quickly...\r\n\r\n### Build consumer application\r\n\r\n- `git clone https://github.com/abhirockzz/debezium-javaee-test-drive.git`\r\n- `mvn clean install` - this will produce a WAR in `target` directory\r\n\r\n### Bootstrap using `docker-compose up --build`\r\n\r\nThis will start Docker containers - **Debezium Zoookeeper**, **Debezium Kafka**, **Debezium MySQL** (example), **Debezium Kafka Connect**, (a Java EE based) **Kafka Consumer** and [**Yahoo Kafka Manager**](https://hub.docker.com/r/sheepkiller/kafka-manager/)\r\n\r\nWait for all the containers to start before proceeding....\r\n\r\n### Create `Debezium MySQL Kafka Connect` connector \r\n\r\nPlease substitute your Docker host IP which you can get using `docker-machine ip`. This is the same step as per [Debezium tutorial](http://debezium.io/docs/tutorial/). The only difference is that MySQL (`demysql`) and Kafka (`dekaf`) host names have been changed (as per Docker container names in `docker-compose.yml`). You should see a `201 Created` response\r\n\r\n`curl -i -X POST -H \"Accept:application/json\" -H \"Content-Type:application/json\" \u003cDOCKER_HOST_IP\u003e:8083/connectors/ -d '{ \"name\": \"inventory-connector\", \"config\": { \"connector.class\": \"io.debezium.connector.mysql.MySqlConnector\", \"tasks.max\": \"1\", \"database.hostname\": \"demysql\", \"database.port\": \"3306\", \"database.user\": \"debezium\", \"database.password\": \"dbz\", \"database.server.id\": \"184054\", \"database.server.name\": \"dbserver1\", \"database.whitelist\": \"inventory\", \"database.history.kafka.bootstrap.servers\": \"dekaf:9092\", \"database.history.kafka.topic\": \"dbhistory.inventory\" } }'`\r\n\r\n### See it in action..\r\n\r\n#### Connect to the MySQL Docker container\r\n\r\nYou can do so using another Docker container (`docker run -it --rm --name mysqlterm --link demysql mysql:5.7 sh -c 'exec mysql -h\"$MYSQL_PORT_3306_TCP_ADDR\" -P\"$MYSQL_PORT_3306_TCP_PORT\" -uroot -p\"$MYSQL_ENV_MYSQL_ROOT_PASSWORD\"'`) as mentioned in the [Debezium tutorial](http://debezium.io/docs/tutorial/) or an external client (I used one)\r\n\r\n![](https://abhirockzz.files.wordpress.com/2017/06/mysql-1.jpg)\r\n\r\nOnce you have connected to MySQL, you can play around with the data\r\n\r\n- **Update** a record: `UPDATE customers SET first_name='Anne Marie' WHERE id=1004;`\r\n- **Create** a new record: `INSERT INTO inventory.customers (first_name, last_name, email) VALUES ('abhi', 'rockzz', 'abhirockzz@gmail.com')`\r\n- **Delete** an existing record: `DELETE FROM inventory.customers WHERE email='abhirockzz@gmail.com';`\r\n\r\nThe consumer will receive the events, parse them and log it - see the highlighted logs in the screen shot below\r\n\r\n![](https://abhirockzz.files.wordpress.com/2017/06/results.jpg)\r\n\r\n### Configure Yahoo Kafka Manager\r\n\r\n**Note**: This is optional\r\n\r\nBrowse to `http://\u003cDOCKER_HOST_IP\u003e:9000`, choose **Add Cluster** from the **Cluster** menu (ignore Kafka version for now)\r\n\r\n![](https://abhirockzz.files.wordpress.com/2017/06/ykm-1.jpg)\r\n\r\nYou should see the topics created by the Debezium MySQL Kafka Connector\r\n\r\n![](https://abhirockzz.files.wordpress.com/2017/06/ykm-2.jpg)\r\n\r\nCheck the (Java EE) consumer in Yahoo Kafka Manager (using the **Consumers** menu)\r\n\r\n![](https://abhirockzz.files.wordpress.com/2017/06/consumer-11.jpg)\r\n\r\n### Once you're done...\r\n\r\n`docker-compose down -v`\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhirockzz%2Fdebezium-javaee-test-drive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhirockzz%2Fdebezium-javaee-test-drive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhirockzz%2Fdebezium-javaee-test-drive/lists"}