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:

Is org.Keycloak.admin.client.Keycloak threadsafe? I intend to use it as a single admin client for the entire app ...

/Hristo Stoyanov



_______________________________________________
keycloak-user mailing list
keycloak-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user