通过工厂模式创建链接
 
 static {BasePooledObjectFactory<MilvusServiceClient> factory = new BasePooledObjectFactory<MilvusServiceClient>() {@Overridepublic 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());}@Overridepublic 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();}