...
A new `Admin` interface will be added, (naming inline with the client interfaces `Consumer` and `Producer`). The interface will define all the methods the `AdminClient` class currently defines, with default implementations where necessary, with the exception of the static factory methods for creating new instances, which will be made available on a new `AdminClients` utility class.
The existing `AdminClient` abstract class will be changed to implement the new `Admin` interface and its own implementation remove. It's static `create` factory methods will call into the new `AdminClients` utility class.
The existing `AdminClient` will be marked as deprecated.
All use of `AdminClient` within the Kafka project will be replaced with use of the `Admin` interface and `AdminClients` utility class, with the exception of any classes extending the abstract class, (`KafkaAdminClient` and `MockAdminClient`), which will continue to do so to maintain backwards compatibility until the next major release.
Proposed Changes
As per section above, use of the `AdminClient` abstract base class will be deprecated in favour of a new Kafka `Admin` interface and `AdminClients` utility class.
Compatibility, Deprecation, and Migration Plan
...