基于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();
	    }
相关推荐
爱笑的眼睛114 分钟前
SQLAlchemy 核心 API 深度解析:超越 ORM 的数据库工具包
java·人工智能·python·ai
刺客xs5 分钟前
Qt ---- Qt6.5.3 连接MySQL数据库
数据库·qt·mysql
知白守黑V8 分钟前
OWASP 2025 LLM 应用十大安全风险深度解析
人工智能·安全·ai agent·ai智能体·ai应用·ai安全·大模型安全
zhaodiandiandian9 分钟前
生成式AI重构内容创作生态:人机协同成核心竞争力
大数据·人工智能·重构
努力毕业的小土博^_^15 分钟前
【AI课程领学】基于SmolVLM2与Qwen3的多模态模型拼接实践:从零构建视觉语言模型(一)
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
TiDB 社区干货传送门15 分钟前
“医疗专业应用+分布式数据底座”:平凯数据库与金唐软件全链路赋能医疗国产化与数字化转型
数据库·分布式
德彪稳坐倒骑驴16 分钟前
SQL刷题笔记-我没做出来的题目
数据库·笔记·sql
Lululaurel19 分钟前
AI编程提示词工程实战指南:从入门到精通
人工智能·python·机器学习·ai·ai编程
GottdesKrieges22 分钟前
通过obd升级OceanBase数据库
数据库·oracle·oceanbase
TiDB 社区干货传送门30 分钟前
【附操作指南】从 Oceanbase 增量数据同步到 TiDB
linux·服务器·数据库·tidb·oceanbase