Git Product home page Git Product logo

kafka_producer's Introduction

Spring Boot Kafka Producer Application

Overview

This project demonstrates a Spring Boot application integrated with Apache Kafka to handle event publishing.

Features

  • Spring Boot 3.2.0 with Java 17.
  • Apache Kafka integration using Spring Kafka.
  • REST API endpoints for publishing string messages and complex event data.
  • Utilizes Lombok for reducing boilerplate code.
  • Jackson datatype integration for Java time objects.

Prerequisites

  • JDK 17
  • Docker and Docker Compose (for running Kafka and Zookeeper)
  • Gradle

Libraries and Plugins

The project uses the following key dependencies and plugins:

  • Spring Boot Starter Web
  • Spring Kafka
  • Lombok
  • Jackson Datatype for JSR310 (Java Time API)

Building the Application

To build the application, run the following commands:

./gradlew clean
./gradlew build

Building and Running the Application

Before running the application, we need to build the Docker images:

docker-compose build

Once the build process is complete, we can start the application along with Kafka and Zookeeper using Docker Compose:

docker-compose up -d

API Endpoints

The application provides two main endpoints:

Publish String Event

Endpoint: /publish
Method: POST
Parameter: event (String)
Usage:

curl -X POST http://localhost:8080/publish?event=your-event

Publish Complex Event

Endpoint: /events
Method: POST
Body: EventRequestDTO JSON
Usage:

curl -X POST http://localhost:8080/events \
-H "Content-Type: application/json" \
-d '{
    "title": "Your Title",
    "description": "Your Description",
    "startTime": "yyyy-MM-dd HH:mm:ss",
    "endTime": "yyyy-MM-dd HH:mm:ss",
    "location": "Your Location"
}'

Viewing Logs

docker-compose logs -f

kafka_producer's People

Contributors

barbieri1981 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.