Commit 0000ecdb by Nepxion

添加Feign配置

parent c893b768
package com.nepxion.discovery.plugin.example.feign;
/**
* <p>Title: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* @author Haojun Ren
* @version 1.0
*/
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
// 参考:https://github.com/spring-cloud/spring-cloud-netflix/issues/1952, https://github.com/spring-cloud/spring-cloud-netflix/issues/1064
public class FeignBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
BeanDefinition definition = beanFactory.getBeanDefinition("feignContext");
definition.setDependsOn("eurekaServiceRegistry", "inetUtils");
}
}
\ No newline at end of file
...@@ -9,13 +9,31 @@ package com.nepxion.discovery.plugin.example.feign; ...@@ -9,13 +9,31 @@ package com.nepxion.discovery.plugin.example.feign;
* @version 1.0 * @version 1.0
*/ */
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
public class FeignConfiguration { public class FeignConfiguration {
// 该Issue只在Eureka下才会出现
@ConditionalOnClass(name = "org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry")
protected static class FeignBeanFactoryPostProcessorConfiguration {
@Bean @Bean
public FeignBeanFactoryPostProcessor feignBeanFactoryPostProcessor() { public BeanFactoryPostProcessor feignBeanFactoryPostProcessor() {
return new FeignBeanFactoryPostProcessor(); return new FeignBeanFactoryPostProcessor();
} }
}
// 参考:https://github.com/spring-cloud/spring-cloud-netflix/issues/1952, https://github.com/spring-cloud/spring-cloud-netflix/issues/1064
protected static class FeignBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
BeanDefinition definition = beanFactory.getBeanDefinition("feignContext");
definition.setDependsOn("eurekaServiceRegistry", "inetUtils");
}
}
} }
\ 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