@Override protected AWSCredentialsProvider createInstance() throws Exception { AWSCredentialsProviderChain awsCredentialsProviderChain; if (this.delegates.isEmpty()) { awsCredentialsProviderChain = new DefaultAWSCredentialsProviderChain(); } else { awsCredentialsProviderChain = new AWSCredentialsProviderChain(this.delegates.toArray(new AWSCredentialsProvider[this.delegates.size()])); } awsCredentialsProviderChain.setReuseLastProvider(false); return awsCredentialsProviderChain; } }
@Override protected AWSCredentialsProvider createInstance() throws Exception { AWSCredentialsProviderChain awsCredentialsProviderChain; if (this.delegates.isEmpty()) { awsCredentialsProviderChain = new DefaultAWSCredentialsProviderChain(); } else { awsCredentialsProviderChain = new AWSCredentialsProviderChain(this.delegates.toArray(new AWSCredentialsProvider[this.delegates.size()])); } awsCredentialsProviderChain.setReuseLastProvider(false); return awsCredentialsProviderChain; } }
/** * Tests that, when provider caching is disabled, the chain will always try * all providers in the chain, starting with the first, until it finds a * provider that can return credentials. */ @Test public void testDisableReusingLastProvider() throws Exception { MockCredentialsProvider provider1 = new MockCredentialsProvider(); provider1.throwException = true; MockCredentialsProvider provider2 = new MockCredentialsProvider(); AWSCredentialsProviderChain chain = new AWSCredentialsProviderChain(provider1, provider2); chain.setReuseLastProvider(false); assertEquals(0, provider1.getCredentialsCallCount); assertEquals(0, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(1, provider1.getCredentialsCallCount); assertEquals(1, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(2, provider1.getCredentialsCallCount); assertEquals(2, provider2.getCredentialsCallCount); }
providerChain.setReuseLastProvider(true); return providerChain;
providerChain.setReuseLastProvider(true); return providerChain;