[keycloak-dev] What to do about Java admin client

Bill Burke bburke at redhat.com
Tue Apr 5 08:54:54 EDT 2016



On 4/5/2016 8:45 AM, Stian Thorgersen wrote:
>
>
> On 5 April 2016 at 14:36, Bill Burke <bburke at redhat.com 
> <mailto:bburke at redhat.com>> wrote:
>
>
>
>     On 4/5/2016 8:32 AM, Stian Thorgersen wrote:
>>
>>
>>     On 5 April 2016 at 14:19, Bill Burke <bburke at redhat.com
>>     <mailto:bburke at redhat.com>> wrote:
>>
>>
>>
>>         On 4/5/2016 7:47 AM, Marek Posolda wrote:
>>>
>>>>>             2) Use JAX-RS 2 client
>>>>             +1
>>>>
>>>>             But it will be good if people have possibility to
>>>>             configure the details of underlying Apache HTTP Client
>>>>             (connection pooling, connection/socket timeouts, tls
>>>>             etc). If it's possible to achieve it and use JAX-RS 2
>>>>             client at the same time, it will be cool. Otherwise if
>>>>             we need to choose just one of these, the
>>>>             "configurability" of Apache HTTP client is more
>>>>             important IMO.
>>>>
>>>>
>>>>         Sticking with RestEasy Client makes the assumption that all
>>>>         users use other JBoss projects. We know that's not true as
>>>>         Tomcat, Jetty and Spring adapters all have a lot of use.
>>>>         IMO we should either convert to JAX-RS 2 client or use
>>>>         Apache HTTP client directly (I'm not to keen on that though).
>>>         At least we may just have possibility to inject underlying
>>>         javax.ws.rs <http://javax.ws.rs>.client.Client during
>>>         creation of admin-client. So if someone is on resteasy and
>>>         wants to tweak Apache HTTP Client, he can use RestEasy API
>>>         to build client by himself and inject it. If he's using some
>>>         other library, he would need to use it's API to build client
>>>         (and possibly configure connection pooling etc in library
>>>         specific way).
>>>
>>          If you're using Tomcat, Spring or whatever, anything JBoss
>>         is evil and they can't co-exist?  That's ridiculous. You're
>>         really going to stub out every single piece of the REST api
>>         and/or write your own tool?  No....
>>
>
> We're already stubbing out everything due to having to create the 
> interfaces. I've never been convinced about exposing RestEasy client 
> interfaces/proxies directly as the usability is not very good IMO. 
> Especially around error handling.
>
>>
>>     What's wrong with JAX-RS 2.0?
>     The proxy thing is Resteasy specific.  Its not in the spec.
>
>
> What's this then 
> http://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/client/ClientBuilder.html?

You cannot create a proxy through JAX-RS client api.  It doesn't exist.  
ClientBuilder creates the base client (similar to HttpClient in 
Apache).  Even that is not comprehensive enough and you still need to 
use implementation specific APIs.

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-dev/attachments/20160405/bda24e77/attachment-0001.html 


More information about the keycloak-dev mailing list