It's supposed to be and we even
internally using it in some concurrency test.
It's using Apache HTTP client under the hood, which itself is
thread-safe and is using connection pooling. In case you need, you
can configure more fine-grained details (like connection pool size
etc) by pass the custom resteasyClient to Keycloak object.
However when I looked a bit more into sources now, I can see that
there are some potential concurrency issues in TokenManager class,
which is used internally by admin client. Created JIRA
https://issues.jboss.org/browse/KEYCLOAK-2731 for it. It's not too
bad IMO, but note that you can possibly see situation when more
concurrent threads are trying to refresh the same access token at
the same time.
Marek
On 31/03/16 01:37, Hristo Stoyanov wrote: