spring-kafka
spring-kafka copied to clipboard
[Suggestion] Refactor KafkaListenerConfigUtils to Use Enum for Constants Management
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 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.
@JoeCP17 Thank you for signing the Contributor License Agreement!