spring-kafka icon indicating copy to clipboard operation
spring-kafka copied to clipboard

[Suggestion] Refactor KafkaListenerConfigUtils to Use Enum for Constants Management

Open JoeCP17 opened this issue 11 months ago • 2 comments

This pull request introduces a significant refactor to the KafkaListenerConfigUtils class, transitioning it from an abstract class to an enum named KafkaListenerConfigTypes.

This change aims to enhance the management of configuration constants within our project, leveraging the strengths of enum in Java for a more efficient and type-safe way to handle constants.

Key Changes

KafkaListenerConfigUtils is now an enum KafkaListenerConfigTypes, encapsulating the bean names as enum constants.

Introduced a nested KAFKA_CONFIG_PATH class within KafkaListenerConfigTypes to maintain the original constants'values.

Rationale

The primary motivation behind this change is to utilize enums for constant management, which offers several advantages

Type Safety

Enums provide compile-time type checking, reducing the risk of assigning incorrect values to constants.

Singleton Pattern

By their nature, enums in Java implement the singleton pattern, ensuring that constant values are instantiated only once throughout the JVM lifecycle.

Impact

This change does not introduce any breaking changes to existing functionality. All references to KafkaListenerConfigUtils constants have been updated to use KafkaListenerConfigTypes accordingly.

JoeCP17 avatar Mar 25 '24 07:03 JoeCP17

@JoeCP17 Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

pivotal-cla avatar Mar 25 '24 07:03 pivotal-cla

@JoeCP17 Thank you for signing the Contributor License Agreement!

pivotal-cla avatar Mar 25 '24 07:03 pivotal-cla