本文整理汇总了Java中com.netflix.client.DefaultLoadBalancerRetryHandler类的典型用法代码示例。如果您正苦于以下问题:Java DefaultLoadBalancerRetryHandler类的具体用法?Java DefaultLoadBalancerRetryHandler怎么用?Java DefaultLoadBalancerRetryHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DefaultLoadBalancerRetryHandler类属于com.netflix.client包,在下文中一共展示了DefaultLoadBalancerRetryHandler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: testRetryableStatusCodes
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testRetryableStatusCodes() throws Exception {
int sameServer = 3;
int nextServer = 3;
RibbonServer server = getRibbonServer();
IClientConfig config = mock(IClientConfig.class);
doReturn(sameServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(nextServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(false).when(config).get(eq(CommonClientConfigKey.OkToRetryOnAllOperations), eq(false));
doReturn(config).when(clientFactory).getClientConfig(eq(server.getServiceId()));
doReturn("404, 418,502,foo, ,").when(config).getPropertyAsString(eq(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES),eq(""));
clientFactory.getLoadBalancerContext(server.getServiceId()).setRetryHandler(new DefaultLoadBalancerRetryHandler(config));
RibbonLoadBalancerClient client = getRibbonLoadBalancerClient(server);
RibbonLoadBalancedRetryPolicyFactory factory = new RibbonLoadBalancedRetryPolicyFactory(clientFactory);
LoadBalancedRetryPolicy policy = factory.create(server.getServiceId(), client);
HttpRequest request = mock(HttpRequest.class);
doReturn(HttpMethod.GET).when(request).getMethod();
assertThat(policy.retryableStatusCode(400), is(false));
assertThat(policy.retryableStatusCode(404), is(true));
assertThat(policy.retryableStatusCode(418), is(true));
assertThat(policy.retryableStatusCode(502), is(true));
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:23,代码来源:RibbonLoadBalancedRetryPolicyFactoryTests.java
示例2: initWithNiwsConfig
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
/**
* Set necessary parameters from client configuration and register with Servo monitors.
*/
@Override
public void initWithNiwsConfig(IClientConfig clientConfig) {
if (clientConfig == null) {
return;
}
clientName = clientConfig.getClientName();
if (clientName == null) {
clientName = "default";
}
vipAddresses = clientConfig.resolveDeploymentContextbasedVipAddresses();
maxAutoRetries = clientConfig.getPropertyAsInteger(CommonClientConfigKey.MaxAutoRetries, DefaultClientConfigImpl.DEFAULT_MAX_AUTO_RETRIES);
maxAutoRetriesNextServer = clientConfig.getPropertyAsInteger(CommonClientConfigKey.MaxAutoRetriesNextServer,maxAutoRetriesNextServer);
okToRetryOnAllOperations = clientConfig.getPropertyAsBoolean(CommonClientConfigKey.OkToRetryOnAllOperations, okToRetryOnAllOperations);
defaultRetryHandler = new DefaultLoadBalancerRetryHandler(clientConfig);
tracer = getExecuteTracer();
Monitors.registerObject("Client_" + clientName, this);
}
开发者ID:Netflix,项目名称:ribbon,代码行数:24,代码来源:LoadBalancerContext.java
示例3: testRuleClassName
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testRuleClassName() {
System.setProperty("cse.loadbalance.mytest1.NFLoadBalancerRuleClassName",
"com.netflix.loadbalancer.RoundRobinRule");
System.setProperty("cse.loadbalance.mytest2.NFLoadBalancerRuleClassName",
"com.netflix.loadbalancer.WeightedResponseTimeRule");
System.setProperty("cse.loadbalance.mytest3.NFLoadBalancerRuleClassName", "com.netflix.loadbalancer.RandomRule");
System.setProperty("cse.loadbalance.mytest4.NFLoadBalancerRuleClassName",
"org.apache.servicecomb.loadbalance.SessionStickinessRule");
BeansHolder holder = new BeansHolder();
List<ExtensionsFactory> extensionsFactories = new ArrayList<>();
extensionsFactories.add(new RuleClassNameExtentionsFactory());
extensionsFactories.add(new RuleNameExtentionsFactory());
extensionsFactories.add(new DefaultRetryExtensionsFactory());
Deencapsulation.setField(holder, "extentionsFactories", extensionsFactories);
holder.init();
Assert.assertEquals(RoundRobinRule.class.getName(),
ExtensionsManager.createLoadBalancerRule("mytest1").getClass().getName());
Assert.assertEquals(WeightedResponseTimeRule.class.getName(),
ExtensionsManager.createLoadBalancerRule("mytest2").getClass().getName());
Assert.assertEquals(RandomRule.class.getName(),
ExtensionsManager.createLoadBalancerRule("mytest3").getClass().getName());
Assert.assertEquals(SessionStickinessRule.class.getName(),
ExtensionsManager.createLoadBalancerRule("mytest4").getClass().getName());
System.getProperties().remove("cse.loadbalance.mytest1.NFLoadBalancerRuleClassName");
System.getProperties().remove("cse.loadbalance.mytest2.NFLoadBalancerRuleClassName");
System.getProperties().remove("cse.loadbalance.mytest3.NFLoadBalancerRuleClassName");
System.getProperties().remove("cse.loadbalance.mytest4.NFLoadBalancerRuleClassName");
Assert.assertEquals(DefaultLoadBalancerRetryHandler.class.getName(),
ExtensionsManager.createRetryHandler("mytest1").getClass().getName());
}
开发者ID:apache,项目名称:incubator-servicecomb-java-chassis,代码行数:36,代码来源:TestExtensionsManager.java
示例4: create
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Override
public LBClient create(String clientName) {
LBClient client = new LBClientFactory.Default().create(clientName);
IClientConfig config = ClientFactory.getNamedConfig(clientName);
client.setRetryHandler(new DefaultLoadBalancerRetryHandler(config));
return client;
}
开发者ID:aatarasoff,项目名称:spring-cloud-marathon,代码行数:8,代码来源:RibbonMarathonClient.java
示例5: configureRetryHandler
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Bean
public RetryHandler configureRetryHandler() {
// https://github.com/Netflix/ribbon/blob/master/ribbon-core/src/main/java/com/netflix/client/DefaultLoadBalancerRetryHandler.java
// retrySameServer=0, retryNextServer=1, retryEnabled=true
return new DefaultLoadBalancerRetryHandler(retrySameServer, retryNextServer, retryEnabled);
}
开发者ID:looztra,项目名称:my-awesome-guestbook,代码行数:8,代码来源:RetryHandlerConfiguration.java
示例6: testGetRetryPolicyNoRetry
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testGetRetryPolicyNoRetry() throws Exception {
int sameServer = 0;
int nextServer = 0;
boolean retryOnAllOps = false;
RibbonServer server = getRibbonServer();
IClientConfig config = mock(IClientConfig.class);
doReturn(sameServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(sameServer).when(config).getPropertyAsInteger(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(nextServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(nextServer).when(config).getPropertyAsInteger(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(retryOnAllOps).when(config).get(eq(CommonClientConfigKey.OkToRetryOnAllOperations), anyBoolean());
doReturn(retryOnAllOps).when(config).getPropertyAsBoolean(eq(CommonClientConfigKey.OkToRetryOnAllOperations), anyBoolean());
doReturn("").when(config).getPropertyAsString(eq(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES),eq(""));
doReturn(server.getServiceId()).when(config).getClientName();
doReturn(config).when(clientFactory).getClientConfig(eq(server.getServiceId()));
clientFactory.getLoadBalancerContext(server.getServiceId()).setRetryHandler(new DefaultLoadBalancerRetryHandler(config));
RibbonLoadBalancerClient client = getRibbonLoadBalancerClient(server);
RibbonLoadBalancedRetryPolicyFactory factory = new RibbonLoadBalancedRetryPolicyFactory(clientFactory);
LoadBalancedRetryPolicy policy = factory.create(server.getServiceId(), client);
HttpRequest request = mock(HttpRequest.class);
doReturn(HttpMethod.GET).when(request).getMethod();
LoadBalancedRetryContext context = new LoadBalancedRetryContext(null, request);
assertThat(policy.canRetryNextServer(context), is(true));
assertThat(policy.canRetrySameServer(context), is(false));
assertThat(policy.retryableStatusCode(400), is(false));
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:28,代码来源:RibbonLoadBalancedRetryPolicyFactoryTests.java
示例7: testGetRetryPolicyNotGet
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testGetRetryPolicyNotGet() throws Exception {
int sameServer = 3;
int nextServer = 3;
boolean retryOnAllOps = false;
RibbonServer server = getRibbonServer();
IClientConfig config = mock(IClientConfig.class);
doReturn(sameServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(sameServer).when(config).getPropertyAsInteger(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(nextServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(nextServer).when(config).getPropertyAsInteger(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(retryOnAllOps).when(config).get(eq(CommonClientConfigKey.OkToRetryOnAllOperations), anyBoolean());
doReturn(retryOnAllOps).when(config).getPropertyAsBoolean(eq(CommonClientConfigKey.OkToRetryOnAllOperations), anyBoolean());
doReturn("").when(config).getPropertyAsString(eq(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES),eq(""));
doReturn(server.getServiceId()).when(config).getClientName();
doReturn(config).when(clientFactory).getClientConfig(eq(server.getServiceId()));
clientFactory.getLoadBalancerContext(server.getServiceId()).setRetryHandler(new DefaultLoadBalancerRetryHandler(config));
RibbonLoadBalancerClient client = getRibbonLoadBalancerClient(server);
RibbonLoadBalancedRetryPolicyFactory factory = new RibbonLoadBalancedRetryPolicyFactory(clientFactory);
LoadBalancedRetryPolicy policy = factory.create(server.getServiceId(), client);
HttpRequest request = mock(HttpRequest.class);
doReturn(HttpMethod.POST).when(request).getMethod();
LoadBalancedRetryContext context = new LoadBalancedRetryContext(null, request);
assertThat(policy.canRetryNextServer(context), is(false));
assertThat(policy.canRetrySameServer(context), is(false));
assertThat(policy.retryableStatusCode(400), is(false));
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:28,代码来源:RibbonLoadBalancedRetryPolicyFactoryTests.java
示例8: setupClientForRetry
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
private RetryableRibbonLoadBalancingHttpClient setupClientForRetry(int retriesNextServer, int retriesSameServer,
boolean retryable, boolean retryOnAllOps,
String serviceName, String host, int port,
CloseableHttpClient delegate, ILoadBalancer lb, String statusCodes,
LoadBalancedBackOffPolicyFactory loadBalancedBackOffPolicyFactory,
boolean isSecure) throws Exception {
ServerIntrospector introspector = mock(ServerIntrospector.class);
RetryHandler retryHandler = new DefaultLoadBalancerRetryHandler(retriesSameServer, retriesNextServer, retryable);
doReturn(new Server(host, port)).when(lb).chooseServer(eq(serviceName));
DefaultClientConfigImpl clientConfig = new DefaultClientConfigImpl();
clientConfig.set(CommonClientConfigKey.OkToRetryOnAllOperations, retryOnAllOps);
clientConfig.set(CommonClientConfigKey.MaxAutoRetriesNextServer, retriesNextServer);
clientConfig.set(CommonClientConfigKey.MaxAutoRetries, retriesSameServer);
clientConfig.set(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES, statusCodes);
clientConfig.set(CommonClientConfigKey.IsSecure, isSecure);
clientConfig.setClientName(serviceName);
RibbonLoadBalancerContext context = new RibbonLoadBalancerContext(lb, clientConfig, retryHandler);
SpringClientFactory clientFactory = mock(SpringClientFactory.class);
doReturn(context).when(clientFactory).getLoadBalancerContext(eq(serviceName));
doReturn(clientConfig).when(clientFactory).getClientConfig(eq(serviceName));
LoadBalancedRetryPolicyFactory factory = new RibbonLoadBalancedRetryPolicyFactory(clientFactory);
RetryableRibbonLoadBalancingHttpClient client = new RetryableRibbonLoadBalancingHttpClient(delegate, clientConfig,
introspector, factory, loadBalancedBackOffPolicyFactory);
client.setLoadBalancer(lb);
ReflectionTestUtils.setField(client, "delegate", delegate);
return client;
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:28,代码来源:RibbonLoadBalancingHttpClientTests.java
示例9: testConfigureRetry
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testConfigureRetry() {
SpringClientFactory factory = new SpringClientFactory();
AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext(
RibbonAutoConfiguration.class, ArchaiusAutoConfiguration.class, HttpClientConfiguration.class);
addEnvironment(parent, "foo.ribbon.MaxAutoRetries:2");
factory.setApplicationContext(parent);
DefaultLoadBalancerRetryHandler retryHandler = (DefaultLoadBalancerRetryHandler) factory
.getLoadBalancerContext("foo").getRetryHandler();
assertEquals(2, retryHandler.getMaxRetriesOnSameServer());
parent.close();
factory.destroy();
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:14,代码来源:SpringClientFactoryTests.java
示例10: okClient
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Bean
public OkHttpLoadBalancingClient okClient(IClientConfig config) {
final OkHttpLoadBalancingClient client = new OkHttpLoadBalancingClient(config,
new DefaultServerIntrospector());
client.setLoadBalancer(new TestLoadBalancer<>());
client.setRetryHandler(new DefaultLoadBalancerRetryHandler());
return client;
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:9,代码来源:OkHttpRibbonCommandIntegrationTests.java
示例11: RetryableFeignLoadBalancer
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Deprecated
//TODO remove in 2.0.x
public RetryableFeignLoadBalancer(ILoadBalancer lb, IClientConfig clientConfig,
ServerIntrospector serverIntrospector, LoadBalancedRetryPolicyFactory loadBalancedRetryPolicyFactory) {
super(lb, clientConfig, serverIntrospector);
this.loadBalancedRetryPolicyFactory = loadBalancedRetryPolicyFactory;
this.setRetryHandler(new DefaultLoadBalancerRetryHandler(clientConfig));
this.loadBalancedBackOffPolicyFactory = new LoadBalancedBackOffPolicyFactory.NoBackOffPolicyFactory();
this.loadBalancedRetryListenerFactory = new LoadBalancedRetryListenerFactory.DefaultRetryListenerFactory();
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:11,代码来源:RetryableFeignLoadBalancer.java
示例12: createRetryHandler
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
public RetryHandler createRetryHandler(String retryName, String microservice) {
RetryHandler handler = new DefaultLoadBalancerRetryHandler(
Configuration.INSTANCE.getRetryOnSame(microservice),
Configuration.INSTANCE.getRetryOnNext(microservice), true);
return handler;
}
开发者ID:apache,项目名称:incubator-servicecomb-java-chassis,代码行数:7,代码来源:DefaultRetryExtensionsFactory.java
示例13: retryHandler
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Bean
@ConditionalOnMissingBean
public RetryHandler retryHandler(IClientConfig config) {
return new DefaultLoadBalancerRetryHandler(config);
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:6,代码来源:RibbonClientConfiguration.java
示例14: testGetRetryPolicyRetryCount
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
@Test
public void testGetRetryPolicyRetryCount() throws Exception {
int sameServer = 3;
int nextServer = 3;
RibbonServer server = getRibbonServer();
IClientConfig config = mock(IClientConfig.class);
doReturn(sameServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetries), anyInt());
doReturn(nextServer).when(config).get(eq(CommonClientConfigKey.MaxAutoRetriesNextServer), anyInt());
doReturn(false).when(config).get(eq(CommonClientConfigKey.OkToRetryOnAllOperations), eq(false));
doReturn(config).when(clientFactory).getClientConfig(eq(server.getServiceId()));
doReturn("").when(config).getPropertyAsString(eq(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES),eq(""));
clientFactory.getLoadBalancerContext(server.getServiceId()).setRetryHandler(new DefaultLoadBalancerRetryHandler(config));
RibbonLoadBalancerClient client = getRibbonLoadBalancerClient(server);
RibbonLoadBalancedRetryPolicyFactory factory = new RibbonLoadBalancedRetryPolicyFactory(clientFactory);
LoadBalancedRetryPolicy policy = factory.create(server.getServiceId(), client);
HttpRequest request = mock(HttpRequest.class);
doReturn(HttpMethod.GET).when(request).getMethod();
LoadBalancedRetryContext context = spy(new LoadBalancedRetryContext(null, request));
//Loop through as if we are retrying a request until we exhaust the number of retries
//outer loop is for next server retries
//inner loop is for same server retries
for(int i = 0; i < nextServer + 1; i++) {
//iterate once time beyond the same server retry limit to cause us to reset
//the same sever counter and increment the next server counter
for(int j = 0; j < sameServer + 1; j++) {
if(j < 3) {
assertThat(policy.canRetrySameServer(context), is(true));
} else {
assertThat(policy.canRetrySameServer(context), is(false));
}
policy.registerThrowable(context, new IOException());
}
if(i < 3) {
assertThat(policy.canRetryNextServer(context), is(true));
} else {
assertThat(policy.canRetryNextServer(context), is(false));
}
}
assertThat(context.isExhaustedOnly(), is(true));
assertThat(policy.retryableStatusCode(400), is(false));
verify(context, times(4)).setServiceInstance(any(ServiceInstance.class));
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:43,代码来源:RibbonLoadBalancedRetryPolicyFactoryTests.java
示例15: getDefaultRetryHandlerWithConfig
import com.netflix.client.DefaultLoadBalancerRetryHandler; //导入依赖的package包/类
private static RetryHandler getDefaultRetryHandlerWithConfig(IClientConfig config) {
return new DefaultLoadBalancerRetryHandler(config);
}
开发者ID:Netflix,项目名称:ribbon,代码行数:4,代码来源:RibbonTransport.java
注:本文中的com.netflix.client.DefaultLoadBalancerRetryHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论