处理初始化client兼容Boot3问题

This commit is contained in:
xgc 2024-08-01 11:04:56 +08:00
parent 9d24794117
commit 65e89609a2

View File

@ -5,30 +5,36 @@ import org.dromara.milvus.plus.config.MilvusPropertiesConfiguration;
import org.dromara.milvus.plus.log.LogLevelController;
import org.dromara.milvus.plus.model.MilvusProperties;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@Service
public class MilvusInit extends AbstractMilvusClientBuilder {
public class MilvusInit extends AbstractMilvusClientBuilder implements InitializingBean, DisposableBean {
@Autowired
private MilvusPropertiesConfiguration milvusPropertiesConfiguration;
private final MilvusPropertiesConfiguration milvusPropertiesConfiguration;
private MilvusClientV2 client;
// Spring会调用这个方法来初始化client
@PostConstruct
public MilvusInit(MilvusPropertiesConfiguration milvusPropertiesConfiguration) {
this.milvusPropertiesConfiguration = milvusPropertiesConfiguration;
}
@Override
public void afterPropertiesSet() {
initialize();
}
@Override
public void destroy() throws Exception {
super.close();
}
public void initialize() {
printBanner();
LogLevelController.setLoggingEnabledForPackage("org.dromara.milvus.plus",
milvusPropertiesConfiguration.isOpenLog(),
milvusPropertiesConfiguration.getLogLevel());
MilvusProperties milvusProperties = new MilvusProperties();
BeanUtils.copyProperties(milvusPropertiesConfiguration, milvusProperties);
super.setProperties(milvusProperties);
@ -36,12 +42,6 @@ public class MilvusInit extends AbstractMilvusClientBuilder {
client = getClient();
}
// Spring会调用这个方法来关闭client
@PreDestroy
public void close() throws InterruptedException {
super.close();
}
@Bean
public MilvusClientV2 milvusClientV2() {
return client;