Merge pull request #446 from ryanjbaxter/disable-retry

Disable Feign Retry
This commit is contained in:
Ryan Baxter
2017-01-10 11:23:40 -05:00
committed by GitHub
3 changed files with 27 additions and 6 deletions

View File

@@ -0,0 +1,23 @@
package org.springframework.cloud.sleuth.instrument.web.client.feign;
import feign.RetryableException;
import feign.Retryer;
/**
* This is essentially the same implementation of a Retryer that is in newer versions of
* Feign. For the 1.0.x stream we add it here.
* @author Ryan Baxter
*/
public class NeverRetry implements Retryer {
@Override
public void continueOrPropagate(RetryableException e) {
throw e;
}
@Override
public Retryer clone() {
return this;
}
public static final NeverRetry INSTANCE = new NeverRetry();
}

View File

@@ -16,9 +16,8 @@
package org.springframework.cloud.sleuth.instrument.web.client.feign;
import org.springframework.beans.factory.BeanFactory;
import feign.Feign;
import org.springframework.beans.factory.BeanFactory;
/**
* Contains {@link feign.Feign.Builder} implementation with tracing components
@@ -33,7 +32,7 @@ final class SleuthFeignBuilder {
private SleuthFeignBuilder() {}
static Feign.Builder builder(BeanFactory beanFactory) {
return Feign.builder()
return Feign.builder().retryer(NeverRetry.INSTANCE)
.client(new TraceFeignClient(beanFactory));
}
}

View File

@@ -16,10 +16,9 @@
package org.springframework.cloud.sleuth.instrument.web.client.feign;
import org.springframework.beans.factory.BeanFactory;
import feign.Feign;
import feign.hystrix.HystrixFeign;
import org.springframework.beans.factory.BeanFactory;
/**
* Contains {@link Feign.Builder} implementation that delegates execution
@@ -35,7 +34,7 @@ final class SleuthHystrixFeignBuilder {
private SleuthHystrixFeignBuilder() {}
static Feign.Builder builder(BeanFactory beanFactory) {
return HystrixFeign.builder()
return HystrixFeign.builder().retryer(NeverRetry.INSTANCE)
.client(new TraceFeignClient(beanFactory));
}
}