基于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();
	    }
相关推荐
李燚12 小时前
LLM 可靠性设计:Retry + Failover 源码拆解(第58篇-E44)
数据库
YHHLAI13 小时前
Agent 智能体开发实战 · Stream 流式输出 —— AI 产品的核心体验
人工智能
乐橙开放平台13 小时前
养殖 SaaS 笔记:乐橙 IoT 物模型管环境,视频 OpenAPI 管回看
数据库·笔记·物联网·mysql·音视频
rain_sxr13 小时前
让 AI 会调用工具:Function Calling 结构化输出的前端渲染与编排
人工智能
breeze jiang13 小时前
从零搭建浏览器端 AI 原型:React、WebGPU 与 Tailwind CSS 的一次实践
css·人工智能·react.js
草莓熊Lotso13 小时前
【LangChain】输出解析器全解:让大模型输出从 “聊天” 变 “机器可读”
服务器·数据库·python·langchain·pip
咖啡星人k13 小时前
GitHub Copilot 加入 Agent 浏览器:验证 Web 应用进入编码闭环
前端·人工智能·github·copilot·前端开发·ai agent
matlab代码13 小时前
基于CNN卷积神经网络叶片虫害程度识别系统 (GUI界面)【源码45期】
人工智能·神经网络·cnn·叶片虫害识别·matlab识别