Apache kafka 多线程中的Kafka管理客户端

Apache kafka 多线程中的Kafka管理客户端,apache-kafka,Apache Kafka,我有一个卡夫卡客户端,代码如下 private AdminClient getKafkaClient() { final Map<String, Object> configs = new ConcurrentHashMap<>(); configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "server-ip"); return AdminClient.create(

我有一个卡夫卡客户端,代码如下

private AdminClient getKafkaClient() {
        final Map<String, Object> configs = new ConcurrentHashMap<>();
        configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "server-ip");
        return AdminClient.create(configs);
    }
private管理员客户端getKafkaClient(){
final Map configs=新的ConcurrentHashMap();
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,“服务器ip”);
返回AdminClient.create(配置);
}
此方法由多个线程调用,并创建多个管理客户端。所以我想保留一个实例并利用它

我读过一篇关于Singleton使用Holder类的文章,其url如下:

在我看来不错,当我尝试实现问题设置配置,但无法创建实例时。谁能就我的问题向我提出最好的建议


谢谢大家!

以下看起来不错??我成功了

public class KafkaAdminManager {

    private ConnectionConfig connectionConfig;
    private static final Map<String, Object> configs =  new HashMap<>();

    public KafkaAdminManager(ConnectionConfig connectionConfig) {
        configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, connectionConfig.getBootstrapServers());
        this.connectionConfig = connectionConfig;
    }

    private static class InstanceHolder {
        public static AdminClient instance = AdminClient.create(configs);
    }

    private KafkaAdminManager(){}

    public static AdminClient getInstance() {
        return InstanceHolder.instance;
    }

}
公共类KafkaAdminManager{
私有连接配置连接配置;
私有静态最终映射configs=newhashmap();
公共KafkaAdminManager(连接配置连接配置){
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,connectionConfig.getbootstrapserver());
this.connectionConfig=connectionConfig;
}
私有静态类InstanceHolder{
publicstaticadminclient实例=AdminClient.create(configs);
}
私有KafkaAdminManager(){}
公共静态AdminClient getInstance(){
返回InstanceHolder.instance;
}
}

Singleton可以正常工作。您不需要并发Hashmap。请显示您的实际StackTrace可选,使用更高级别的框架,如Spring Kafka或Akka Streams,它可以为您注入单个实例下面的配置工作并设法运行。谢谢@cricket_007;您不一定需要两门课,但看起来不错。非常感谢您的反馈。