mirror of https://github.com/apache/jclouds.git
Issue 731: added RetryOnRenew handler to CloudLoadBalancers, Nova and Swift
This commit is contained in:
parent
2d0db63f51
commit
b11a608396
|
@ -38,6 +38,7 @@ import org.jclouds.cloudloadbalancers.functions.ConvertLB;
|
||||||
import org.jclouds.cloudloadbalancers.handlers.ParseCloudLoadBalancersErrorFromHttpResponse;
|
import org.jclouds.cloudloadbalancers.handlers.ParseCloudLoadBalancersErrorFromHttpResponse;
|
||||||
import org.jclouds.cloudloadbalancers.reference.RackspaceConstants;
|
import org.jclouds.cloudloadbalancers.reference.RackspaceConstants;
|
||||||
import org.jclouds.http.HttpErrorHandler;
|
import org.jclouds.http.HttpErrorHandler;
|
||||||
|
import org.jclouds.http.HttpRetryHandler;
|
||||||
import org.jclouds.http.RequiresHttp;
|
import org.jclouds.http.RequiresHttp;
|
||||||
import org.jclouds.http.annotation.ClientError;
|
import org.jclouds.http.annotation.ClientError;
|
||||||
import org.jclouds.http.annotation.Redirection;
|
import org.jclouds.http.annotation.Redirection;
|
||||||
|
@ -51,6 +52,7 @@ import org.jclouds.location.config.ProvideRegionToURIViaProperties;
|
||||||
import org.jclouds.logging.Logger.LoggerFactory;
|
import org.jclouds.logging.Logger.LoggerFactory;
|
||||||
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
||||||
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
||||||
|
import org.jclouds.openstack.handlers.RetryOnRenew;
|
||||||
import org.jclouds.openstack.reference.AuthHeaders;
|
import org.jclouds.openstack.reference.AuthHeaders;
|
||||||
import org.jclouds.rest.ConfiguresRestClient;
|
import org.jclouds.rest.ConfiguresRestClient;
|
||||||
import org.jclouds.rest.config.RestClientModule;
|
import org.jclouds.rest.config.RestClientModule;
|
||||||
|
@ -154,4 +156,8 @@ public class CloudLoadBalancersRestClientModule extends
|
||||||
ParseCloudLoadBalancersErrorFromHttpResponse.class);
|
ParseCloudLoadBalancersErrorFromHttpResponse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void bindRetryHandlers() {
|
||||||
|
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(RetryOnRenew.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ import org.testng.annotations.BeforeClass;
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.common.base.Suppliers;
|
import com.google.common.base.Suppliers;
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
|
import com.google.common.cache.LoadingCache;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
import com.google.inject.Scopes;
|
import com.google.inject.Scopes;
|
||||||
|
@ -76,8 +77,8 @@ public abstract class BaseCloudLoadBalancersAsyncClientTest<T> extends RestClien
|
||||||
// following from CloudLoadBalancersRestClientModule, except we are hard-coding the auth response
|
// following from CloudLoadBalancersRestClientModule, except we are hard-coding the auth response
|
||||||
install(new OpenStackAuthenticationModule() {
|
install(new OpenStackAuthenticationModule() {
|
||||||
@Override
|
@Override
|
||||||
protected Supplier<AuthenticationResponse> provideAuthenticationResponseCache(
|
protected Supplier<AuthenticationResponse> provideAuthenticationResponseSupplier(
|
||||||
final GetAuthenticationResponse getAuthenticationResponse) {
|
final LoadingCache<String,AuthenticationResponse> cache) {
|
||||||
return Suppliers.ofInstance(new AuthenticationResponse("token", ImmutableMap.<String, URI> of()));
|
return Suppliers.ofInstance(new AuthenticationResponse("token", ImmutableMap.<String, URI> of()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -27,6 +27,7 @@ import org.jclouds.openstack.nova.NovaClient;
|
||||||
import org.jclouds.openstack.nova.ServerManagement;
|
import org.jclouds.openstack.nova.ServerManagement;
|
||||||
import org.jclouds.openstack.nova.handlers.ParseNovaErrorFromHttpResponse;
|
import org.jclouds.openstack.nova.handlers.ParseNovaErrorFromHttpResponse;
|
||||||
import org.jclouds.http.HttpErrorHandler;
|
import org.jclouds.http.HttpErrorHandler;
|
||||||
|
import org.jclouds.http.HttpRetryHandler;
|
||||||
import org.jclouds.http.RequiresHttp;
|
import org.jclouds.http.RequiresHttp;
|
||||||
import org.jclouds.http.annotation.ClientError;
|
import org.jclouds.http.annotation.ClientError;
|
||||||
import org.jclouds.http.annotation.Redirection;
|
import org.jclouds.http.annotation.Redirection;
|
||||||
|
@ -35,6 +36,7 @@ import org.jclouds.json.config.GsonModule.DateAdapter;
|
||||||
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
|
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
|
||||||
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
||||||
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
||||||
|
import org.jclouds.openstack.handlers.RetryOnRenew;
|
||||||
import org.jclouds.openstack.reference.AuthHeaders;
|
import org.jclouds.openstack.reference.AuthHeaders;
|
||||||
import org.jclouds.rest.ConfiguresRestClient;
|
import org.jclouds.rest.ConfiguresRestClient;
|
||||||
import org.jclouds.rest.config.RestClientModule;
|
import org.jclouds.rest.config.RestClientModule;
|
||||||
|
@ -74,6 +76,11 @@ public class NovaRestClientModule extends RestClientModule<NovaClient, NovaAsync
|
||||||
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseNovaErrorFromHttpResponse.class);
|
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseNovaErrorFromHttpResponse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void bindRetryHandlers() {
|
||||||
|
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(RetryOnRenew.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
@ServerManagement
|
@ServerManagement
|
||||||
|
|
|
@ -23,6 +23,7 @@ import java.net.URI;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import org.jclouds.http.HttpErrorHandler;
|
import org.jclouds.http.HttpErrorHandler;
|
||||||
|
import org.jclouds.http.HttpRetryHandler;
|
||||||
import org.jclouds.http.RequiresHttp;
|
import org.jclouds.http.RequiresHttp;
|
||||||
import org.jclouds.http.annotation.ClientError;
|
import org.jclouds.http.annotation.ClientError;
|
||||||
import org.jclouds.http.annotation.Redirection;
|
import org.jclouds.http.annotation.Redirection;
|
||||||
|
@ -31,6 +32,7 @@ import org.jclouds.json.config.GsonModule.DateAdapter;
|
||||||
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
|
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
|
||||||
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
import org.jclouds.openstack.OpenStackAuthAsyncClient.AuthenticationResponse;
|
||||||
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
import org.jclouds.openstack.config.OpenStackAuthenticationModule;
|
||||||
|
import org.jclouds.openstack.handlers.RetryOnRenew;
|
||||||
import org.jclouds.openstack.reference.AuthHeaders;
|
import org.jclouds.openstack.reference.AuthHeaders;
|
||||||
import org.jclouds.openstack.swift.CommonSwiftAsyncClient;
|
import org.jclouds.openstack.swift.CommonSwiftAsyncClient;
|
||||||
import org.jclouds.openstack.swift.CommonSwiftClient;
|
import org.jclouds.openstack.swift.CommonSwiftClient;
|
||||||
|
@ -76,6 +78,11 @@ public class BaseSwiftRestClientModule<S extends CommonSwiftClient, A extends Co
|
||||||
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseSwiftErrorFromHttpResponse.class);
|
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseSwiftErrorFromHttpResponse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void bindRetryHandlers() {
|
||||||
|
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(RetryOnRenew.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
@Storage
|
@Storage
|
||||||
|
|
Loading…
Reference in New Issue