Package feign.hystrix
Class HystrixFeign.Builder
- java.lang.Object
-
- feign.Feign.Builder
-
- feign.hystrix.HystrixFeign.Builder
-
- Enclosing class:
- HystrixFeign
public static final class HystrixFeign.Builder extends feign.Feign.Builder
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description feign.Feignbuild()HystrixFeign.Builderclient(feign.Client client)HystrixFeign.Buildercontract(feign.Contract contract)HystrixFeign.Builderdecode404()HystrixFeign.Builderdecoder(feign.codec.Decoder decoder)HystrixFeign.Builderencoder(feign.codec.Encoder encoder)HystrixFeign.BuildererrorDecoder(feign.codec.ErrorDecoder errorDecoder)feign.Feign.BuilderinvocationHandlerFactory(feign.InvocationHandlerFactory invocationHandlerFactory)HystrixFeign.Builderlogger(feign.Logger logger)HystrixFeign.BuilderlogLevel(feign.Logger.Level logLevel)HystrixFeign.BuildermapAndDecode(feign.ResponseMapper mapper, feign.codec.Decoder decoder)HystrixFeign.Builderoptions(feign.Request.Options options)HystrixFeign.BuilderrequestInterceptor(feign.RequestInterceptor requestInterceptor)HystrixFeign.BuilderrequestInterceptors(java.lang.Iterable<feign.RequestInterceptor> requestInterceptors)HystrixFeign.Builderretryer(feign.Retryer retryer)HystrixFeign.BuildersetterFactory(SetterFactory setterFactory)Allows you to override hystrix properties such as thread pools and command keys.<T> Ttarget(feign.Target<T> target, FallbackFactory<? extends T> fallbackFactory)<T> Ttarget(feign.Target<T> target, T fallback)<T> Ttarget(java.lang.Class<T> apiType, java.lang.String url, FallbackFactory<? extends T> fallbackFactory)Same as#target(Class, String, T), except you can inspect a source exception before creating a fallback object.<T> Ttarget(java.lang.Class<T> apiType, java.lang.String url, T fallback)LikeFeign.newInstance(Target), except withfallbacksupport.
-
-
-
Method Detail
-
setterFactory
public HystrixFeign.Builder setterFactory(SetterFactory setterFactory)
Allows you to override hystrix properties such as thread pools and command keys.
-
target
public <T> T target(feign.Target<T> target, T fallback)- See Also:
target(Class, String, Object)
-
target
public <T> T target(feign.Target<T> target, FallbackFactory<? extends T> fallbackFactory)- See Also:
target(Class, String, FallbackFactory)
-
target
public <T> T target(java.lang.Class<T> apiType, java.lang.String url, T fallback)LikeFeign.newInstance(Target), except withfallbacksupport.Fallbacks are known values, which you return when there's an error invoking an http method. For example, you can return a cached result as opposed to raising an error to the caller. To use this feature, pass a safe implementation of your target interface as the last parameter. Here's an example:
// When dealing with fallbacks, it is less tedious to keep interfaces small. interface GitHub { @RequestLine("GET /repos/{owner}/{repo}/contributors") List<String> contributors(@Param("owner") String owner, @Param("repo") String repo); } // This instance will be invoked if there are errors of any kind. GitHub fallback = (owner, repo) -> { if (owner.equals("Netflix") && repo.equals("feign")) { return Arrays.asList("stuarthendren"); // inspired this approach! } else { return Collections.emptyList(); } }; GitHub github = HystrixFeign.builder() ... .target(GitHub.class, "https://api.github.com", fallback);- See Also:
target(Target, Object)
-
target
public <T> T target(java.lang.Class<T> apiType, java.lang.String url, FallbackFactory<? extends T> fallbackFactory)Same as#target(Class, String, T), except you can inspect a source exception before creating a fallback object.
-
invocationHandlerFactory
public feign.Feign.Builder invocationHandlerFactory(feign.InvocationHandlerFactory invocationHandlerFactory)
- Overrides:
invocationHandlerFactoryin classfeign.Feign.Builder
-
contract
public HystrixFeign.Builder contract(feign.Contract contract)
- Overrides:
contractin classfeign.Feign.Builder
-
build
public feign.Feign build()
- Overrides:
buildin classfeign.Feign.Builder
-
logLevel
public HystrixFeign.Builder logLevel(feign.Logger.Level logLevel)
- Overrides:
logLevelin classfeign.Feign.Builder
-
client
public HystrixFeign.Builder client(feign.Client client)
- Overrides:
clientin classfeign.Feign.Builder
-
retryer
public HystrixFeign.Builder retryer(feign.Retryer retryer)
- Overrides:
retryerin classfeign.Feign.Builder
-
logger
public HystrixFeign.Builder logger(feign.Logger logger)
- Overrides:
loggerin classfeign.Feign.Builder
-
encoder
public HystrixFeign.Builder encoder(feign.codec.Encoder encoder)
- Overrides:
encoderin classfeign.Feign.Builder
-
decoder
public HystrixFeign.Builder decoder(feign.codec.Decoder decoder)
- Overrides:
decoderin classfeign.Feign.Builder
-
mapAndDecode
public HystrixFeign.Builder mapAndDecode(feign.ResponseMapper mapper, feign.codec.Decoder decoder)
- Overrides:
mapAndDecodein classfeign.Feign.Builder
-
decode404
public HystrixFeign.Builder decode404()
- Overrides:
decode404in classfeign.Feign.Builder
-
errorDecoder
public HystrixFeign.Builder errorDecoder(feign.codec.ErrorDecoder errorDecoder)
- Overrides:
errorDecoderin classfeign.Feign.Builder
-
options
public HystrixFeign.Builder options(feign.Request.Options options)
- Overrides:
optionsin classfeign.Feign.Builder
-
requestInterceptor
public HystrixFeign.Builder requestInterceptor(feign.RequestInterceptor requestInterceptor)
- Overrides:
requestInterceptorin classfeign.Feign.Builder
-
requestInterceptors
public HystrixFeign.Builder requestInterceptors(java.lang.Iterable<feign.RequestInterceptor> requestInterceptors)
- Overrides:
requestInterceptorsin classfeign.Feign.Builder
-
-