@Bean @Scope("prototype") public Feign.Builder feignBuilder() { return Feign.builder().requestInterceptor(new RestTemplateInterceptor()); }
MethodMetadata methodMetadata = SentinelContractHolder.metadataMap .get(method.getDeclaringClass().getName() + Feign.configKey(method.getDeclaringClass(), method));
@Provides @Singleton CloudDNS cloudDNS(Feign feign, CloudDNSTarget target) { return feign.newInstance(target); }
@Provides @Singleton CloudIdentity cloudIdentity(Feign feign) { return feign.newInstance(EmptyTarget.create(CloudIdentity.class, "cloudidentity")); }
static Feign.Builder builder(BeanFactory beanFactory) { return Feign.builder().client(new FescarFeignClient(beanFactory)); } }
/** * @deprecated use {@link #configKey(Class, Method)} instead. */ @Deprecated public static String configKey(Method method) { return configKey(method.getDeclaringClass(), method); }
/** * @see #target(Class, String, FallbackFactory) */ public <T> T target(Target<T> target, FallbackFactory<? extends T> fallbackFactory) { return build(fallbackFactory).newInstance(target); }
static Feign.Builder builder(BeanFactory beanFactory) { return Feign.builder().retryer(Retryer.NEVER_RETRY).client(client(beanFactory)); }
@Override public final List<MethodMetadata> parseAndValidatateMetadata(Class<?> targetType) { List<MethodMetadata> mdList = delegate.parseAndValidatateMetadata(targetType); Map<String, MethodMetadata> methodMetadataByConfigKey = new LinkedHashMap<String, MethodMetadata>(); for (MethodMetadata md : mdList) { methodMetadataByConfigKey.put(md.configKey(), md); } for (Method method : targetType.getMethods()) { if (method.getDeclaringClass() == Object.class) { continue; } String configKey = Feign.configKey(targetType, method); MethodMetadata metadata = methodMetadataByConfigKey.get(configKey); if (metadata != null) { processMetadata(targetType, method, metadata); } } return mdList; }
public <T> T target(Target<T> target) { return build().newInstance(target); }
@Bean @Scope("prototype") public Feign.Builder feignBuilder() { return Feign.builder(); }
@Override public final List<MethodMetadata> parseAndValidatateMetadata(Class<?> targetType) { List<MethodMetadata> mdList = delegate.parseAndValidatateMetadata(targetType); Map<String, MethodMetadata> methodMetadataByConfigKey = new LinkedHashMap<String, MethodMetadata>(); for (MethodMetadata md : mdList) { methodMetadataByConfigKey.put(md.configKey(), md); } for (Method method : targetType.getMethods()) { if (method.getDeclaringClass() == Object.class) { continue; } String configKey = Feign.configKey(targetType, method); MethodMetadata metadata = methodMetadataByConfigKey.get(configKey); if (metadata != null) { processMetadata(targetType, method, metadata); } } return mdList; }
/** * @see #target(Class, String, Object) */ public <T> T target(Target<T> target, T fallback) { return build(fallback != null ? new FallbackFactory.Default<T>(fallback) : null) .newInstance(target); }
@Bean @Scope("prototype") @ConditionalOnMissingBean @ConditionalOnProperty(name = "feign.hystrix.enabled", matchIfMissing = true) public Feign.Builder feignBuilder() { return Feign.builder(); } }
@Override public final List<MethodMetadata> parseAndValidatateMetadata(Class<?> targetType) { List<MethodMetadata> mdList = delegate.parseAndValidatateMetadata(targetType); Map<String, MethodMetadata> methodMetadataByConfigKey = new LinkedHashMap<String, MethodMetadata>(); for (MethodMetadata md : mdList) { methodMetadataByConfigKey.put(md.configKey(), md); } for (Method method : targetType.getMethods()) { if (method.getDeclaringClass() == Object.class) { continue; } String configKey = Feign.configKey(targetType, method); MethodMetadata metadata = methodMetadataByConfigKey.get(configKey); if (metadata != null) { processMetadata(targetType, method, metadata); } } return mdList; }
@Bean @Scope("prototype") @ConditionalOnMissingBean public Feign.Builder feignBuilder(Retryer retryer) { return Feign.builder().retryer(retryer); }
@Override public final List<MethodMetadata> parseAndValidatateMetadata(Class<?> targetType) { List<MethodMetadata> mdList = delegate.parseAndValidatateMetadata(targetType); Map<String, MethodMetadata> methodMetadataByConfigKey = new LinkedHashMap<String, MethodMetadata>(); for (MethodMetadata md : mdList) { methodMetadataByConfigKey.put(md.configKey(), md); } for (Method method : targetType.getMethods()) { if (method.getDeclaringClass() == Object.class) { continue; } String configKey = Feign.configKey(targetType, method); MethodMetadata metadata = methodMetadataByConfigKey.get(configKey); if (metadata != null) { processMetadata(targetType, method, metadata); } } return mdList; }
@Bean @Scope("prototype") @ConditionalOnMissingBean public Feign.Builder feignBuilder(Retryer retryer) { return Feign.builder().retryer(retryer); }
Map<String, MethodHandler> apply(final Target target) { Map<String, MethodMetadata> metadata = contract.parseAndValidatateMetadata(target.type()) .stream() .collect(Collectors.toMap( MethodMetadata::configKey, md -> md )); Map<String, Method> configKeyToMethod = Stream.of(target.type().getMethods()) .collect(Collectors.toMap( method -> Feign.configKey(target.type(), method), method -> method )); final Map<String, MethodHandler> result = new LinkedHashMap<>(); for (final Map.Entry<String, Method> entry : configKeyToMethod.entrySet()) { String configKey = entry.getKey(); MethodMetadata md = metadata.get(configKey); MethodHandler methodHandler = md != null ? factory.create(target, md) : factory.createDefault(entry.getValue()); //isDefault(entry.getValue()) result.put(configKey, methodHandler); } return result; } }
@Bean public Feign.Builder feignBuilder(@Autowired List<RequestInterceptor> interceptors) { return Feign.builder() .requestInterceptors(interceptors); }