当前位置: 首页 > news >正文

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

通过工厂模式创建链接

 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);
	            }
	        };

配置连接池

  // 配置连接池
	        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);

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

 public static MilvusServiceClient borrowClient(long timeout) throws Exception {
	    	
	        return pool.borrowObject(timeout);
	    }

归还连接

  public static void returnClient(MilvusServiceClient client) {
	        pool.returnObject(client);
	    }

关闭链接池

  public static void close() {
	        pool.close();
	    }

相关文章:

  • Spring事务和事务传播机制
  • 浏览器自动携带cookie注意事项
  • 12:表的内外连接
  • LVGL学习1
  • 数据库练习2
  • 图像回归评价的常用指标
  • 个人学习编程(3-22) leetcode刷题
  • C++智能指针详解
  • 蓝桥杯备赛 背包问题
  • [项目]基于FreeRTOS的STM32四轴飞行器: 十一.MPU6050配置与读取
  • 建筑安全员考试:“实战演练” 关键词助力的答题提升策略
  • Sqlite3数据库
  • 客服机器人怎么才能精准的回答用户问题?
  • Linux shell脚本-概述、语法定义、自定义变量、环境变量、预设变量、变量的特殊用法(转义字符、单双引号、大小括号)的验证
  • Labview和C#调用KNX API 相关东西
  • 《深度剖析:鸿蒙系统不同终端设备的UI自适应布局策略》
  • Linux系统管理与编程06:任务驱动综合应用
  • APIJSON快速入门
  • 西门子仿真实例位置
  • Linux小知识
  • “90后”樊鑫履新乌兰察布市察右中旗副旗长人选
  • 恒瑞医药赴港上市获证监会备案,拟发行不超8.15亿股
  • 视觉周刊|2025上海车展的科技范
  • 汽车爆炸致俄军中将死亡嫌疑人被羁押,作案全过程披露
  • 《九龙城寨之围城》斩获香港金像奖九项大奖,包括最佳影片
  • 5月动漫|“爱死机”即将回归,《明末》或是下一个大IP?