PolarisConfigRefreshOptimizationListener的removeRelatedBeansOfReflect如果报错不要影响主进程启动

pull/1095/head
yangjuanying 2 years ago
parent 0e29d9edf4
commit 33213febed

@ -28,6 +28,7 @@ import com.tencent.cloud.polaris.config.enums.RefreshType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConstructorArgumentValues;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
@ -105,10 +106,16 @@ public class PolarisConfigRefreshOptimizationListener implements ApplicationList
}
private void removeRelatedBeansOfReflect(ConfigurableApplicationContext applicationContext) {
try {
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) applicationContext.getBeanFactory();
beanFactory.removeBeanDefinition(REFLECT_REFRESHER_BEAN_NAME);
beanFactory.removeBeanDefinition(REFLECT_REBINDER_BEAN_NAME);
}
catch (BeansException e) {
// 如果这段代码出现removeBean异常不要影响主进程启动有些用户用法会导致polarisReflectPropertySourceAutoRefresher没加载这时候removeBeanDefinition会报错
LOGGER.debug("removeRelatedBeansOfReflect occur error:", e);
}
}
private void registerRefresherBeanOfRefreshContext(ConfigurableApplicationContext applicationContext) {
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) applicationContext.getBeanFactory();

Loading…
Cancel
Save