On 4/5/2016 8:45 AM, Stian Thorgersen wrote:


On 5 April 2016 at 14:36, Bill Burke <bburke@redhat.com> wrote:


On 4/5/2016 8:32 AM, Stian Thorgersen wrote:


On 5 April 2016 at 14:19, Bill Burke <bburke@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.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