OmniaGM commented on code in PR #12577:
URL: https://github.com/apache/kafka/pull/12577#discussion_r1015481020


##########
connect/mirror-client/src/main/java/org/apache/kafka/connect/mirror/MirrorClientConfig.java:
##########
@@ -69,6 +74,17 @@ public ReplicationPolicy replicationPolicy() {
         return getConfiguredInstance(REPLICATION_POLICY_CLASS, 
ReplicationPolicy.class);
     }
 
+    @SuppressWarnings("unchecked")
+    ForwardingAdmin getForwardingAdmin(Map<String, Object> config) {
+        try {
+            return Utils.newParameterizedInstance(

Review Comment:
   Yes, however, based on my understanding `Configurable` class, 
   1. `Configurable` usually has no logic in the constructor and doesn't have 
any parameters passed to the constructor either. Instead, configurations are 
passed to `Configurable.configure(Map<String, ?> props)` which 
`getConfiguredInstance` calls after initialize an instance of `Configurable`.
   
   2. Subclasses of `Configurable` aren't forced to implement `configure` and 
also aren't forced to call `super.configure` as part of the implementation of 
`configure`. 
    
   I can change it to `Configurable` if you prefer this, but my point is that 
`Configurable` doesn't force the subclasses to inheart the initialization or 
configure logic as they are part of `configure` and not the constructor. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to