I'm not sure we should fix it this way and remove the static. The default
static backing map was chosen as a practical way to provide some basic
"credential persistence" and allow credentials to be cached and survive context
creation/destruction, which is convenient in many cases.
There is a trivial configuration to be applied when you need context isolation.
Just create the context with a `CredentialStoreModule` initialized with a local
`Map`. It has a public constructor just for this purpose.
```java
Module isolatedCredStore = new CredentialStoreModule(new
ConcurrentHashMap<String, ByteSource>());
ContextBuilder.newBuilder("provider")
.modules(ImmutableSet.of(isolatedCredStore, ...))
...
```
I think the current default is a good compromise of convenience vs conflicting
use cases (since most users will be using one single account for each
provider), and the existing implementation already provides a clean way to
isolate the credential store between contexts. I don't see the need to change
that default.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1119#issuecomment-315006631