基于deepseek的智能语音客服【第四讲】封装milvus数据库连接池封装

通过工厂模式创建链接

java 复制代码
 static {
	        // 创建连接池工厂
	        BasePooledObjectFactory<MilvusServiceClient> factory = new BasePooledObjectFactory<MilvusServiceClient>() {
	            @Override
	            public MilvusServiceClient create() throws Exception {
	                return new MilvusServiceClient(
	                        ConnectParam.newBuilder()
	                                .withHost(Consist.MILVUS_HOST)
	                                .withPort(Consist.MILVUS_PORT)
	                                .withAuthorization(Consist.MILVUS_USERNAME, Consist.MILVUS_PASSWORD) 
	                                .build()
	                );
	            }

	            @Override
	            public PooledObject<MilvusServiceClient> wrap(MilvusServiceClient obj) {
	                return new DefaultPooledObject<>(obj);
	            }
	        };

配置连接池

java 复制代码
  // 配置连接池
	        GenericObjectPoolConfig<MilvusServiceClient> config = new GenericObjectPoolConfig<>();
	        config.setMaxTotal(Consist.MAX_TOTAL);
	        config.setMaxIdle(Consist.MAX_IDLE);
	        config.setMinIdle(Consist.MIN_IDLE);
	        config.setMaxWaitMillis(Consist.MAX_WAIT_MILLIS);

	        pool = new GenericObjectPool<>(factory, config);

从连接池中获取连接,并设置超时设置

java 复制代码
 public static MilvusServiceClient borrowClient(long timeout) throws Exception {
	    	
	        return pool.borrowObject(timeout);
	    }

归还连接

java 复制代码
  public static void returnClient(MilvusServiceClient client) {
	        pool.returnObject(client);
	    }

关闭链接池

java 复制代码
  public static void close() {
	        pool.close();
	    }
相关推荐
陆少枫1 小时前
MySQL基础关键_004_DQL(三)
数据库·mysql
焱焱枫2 小时前
Oracle 数据布局探秘:段与区块的内部机制
数据库·oracle
焱焱枫3 小时前
深入理解 Oracle 数据块:行迁移与行链接的性能影响
数据库·oracle
长流小哥3 小时前
MySQL零基础入门:Ubuntu环境安装与操作精解
数据库·sql
临界点oc4 小时前
Redis从入门到实战 - 高级篇(上)
数据库·redis·缓存
Faylynn4 小时前
AI入门:Prompt提示词写法
人工智能·ai·prompt
___Dream5 小时前
【TF-BERT】基于张量的融合BERT多模态情感分析
人工智能·深度学习·bert
Jamence5 小时前
多模态大语言模型arxiv论文略读(六十三)
人工智能·语言模型·自然语言处理
hkNaruto6 小时前
【AI】Ubuntu 22.04 evalscope 模型评测 Qwen3-4B-FP8
人工智能·ubuntu·qwen3
电商数据girl6 小时前
【Python爬虫电商数据采集+数据分析】采集电商平台数据信息,并做可视化演示
java·开发语言·数据库·爬虫·python·数据分析