Commit 0d4a9c4a by Nepxion

修复Spring容器二次初始化引入的问题

parent c112ff4b
......@@ -11,6 +11,7 @@ package com.nepxion.discovery.plugin.framework.context;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
......@@ -20,6 +21,7 @@ import com.nepxion.discovery.plugin.framework.decorator.DiscoveryClientDecorator
public abstract class PluginApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
if (applicationContext instanceof AnnotationConfigServletWebServerApplicationContext) {
applicationContext.getBeanFactory().addBeanPostProcessor(new InstantiationAwareBeanPostProcessorAdapter() {
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
......@@ -33,6 +35,7 @@ public abstract class PluginApplicationContextInitializer implements Application
}
});
}
}
protected abstract Object afterInitialization(ConfigurableApplicationContext applicationContext, Object bean, String beanName) throws BeansException;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment