Skip to content

VSN-1990/ Add Kafka producer for circuit activation

ilyas makhloul a demandé de fusionner feature/vsn-1990 vers develop

Add Kafka producer for circuit activation

🎯 Purpose

This MR introduces a new Kafka producer responsible for sending circuit activation/deactivation events (CircuitStatusEvent) to a dedicated Kafka topic. This allows other services in the ecosystem to react in real time when a circuit becomes active or inactive (e.g., recalculation workflows, synchronization, monitoring, etc.).


🛠 Main Changes

1. Kafka Configuration

A new producer configuration has been added for CircuitStatusEvent:

  • Added ProducerFactory<String, CircuitStatusEvent>

  • Added KafkaTemplate<String, CircuitStatusEvent> using the qualifier circuitActivationKafkaTemplate

  • Added topic configuration in application.yml:

    circuit-activation: circuit-activation

2. TripPlanningProducerService Enhancements

  • Injected the new Kafka template using @Qualifier("circuitActivationKafkaTemplate")

  • Added the new method:

    sendCircuitStatusEvent(String circuitId, boolean active)

This method:

  • Builds the CircuitStatusEvent object
  • Sets the circuit ID and activation status
  • Sends the event through the Kafka template
  • Logs success or failure of the message delivery

📡 New Functionality

The application can now emit circuit activation events to Kafka whenever a circuit is activated or deactivated. This enables:

  • Automatic synchronization with downstream consumers
  • Real-time updates across microservices
  • Improved system monitoring
  • Better traceability of circuit status changes

️ Outcome

This MR cleanly introduces a new Kafka event stream dedicated to circuit activation. The implementation aligns with existing Kafka producers (trip planning, driver assignment, trip deletion, recalculation), ensuring consistency across the codebase.

Modification effectuée par ilyas makhloul

Rapports de requête de fusion