[英]Kafka Admin Client in Multi Threading
我有带有以下代码的Kafka客户端,
private AdminClient getKafkaClient() {
final Map<String, Object> configs = new ConcurrentHashMap<>();
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "server-ip");
return AdminClient.create(configs);
}
此方法由多个线程调用,并创建许多管理客户端。 所以我想保留一个实例并利用它。
我已经阅读了一篇关于使用 Holder 类的单例文章,网址如下,
看起来不错,当我尝试实现问题设置配置但无法创建实例时。 任何人都可以在我的问题中建议我最好的主意吗?
谢谢!
下面好看吗?? 我让它工作。
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.