Hi everyone,
a few time ago I discovered the "jersey-proxy-client" module and I think it
really comes in handy, especially when working with microservices
communicating through REST.
I've been using it for POCs and personal projects but, for some reason, I
don't feel confident enough to use it in production scenarios. Let me try
to list the main reasons:
1) searching on the web, it SEEMS there are few people actually knowing the
module. I personally discovered it by accidentally stepping into this (
http://blog.alutam.com/2012/05/04/proxy-client-on-top-of-jax-rs-2-0-client-api/)
blog, but there is no information/example at all in the Jersey
documentation (besides the module name in the "Table 2.5. Jersey
Extensions"). Conversely, almost everyone knows Feign and Retrofit, even
though none of them fully support JAX-RS 2.0 annotations.
2) looking at the source code in the Jersey repository, it SEEMS like the
code could use some love. There are a couple of comments (e.g. "is this the
right thing to do? or should I fail? or ignore the difference?" , "TODO:
should at least log some warning here") which gave me the impression the
module has not been fully finalized (but again, it may well be a wrong
feeling). As a side note, it would be nice to extend it to support at least
a simple service discovery mechanism, e.g. exposing another factory which
accepts a service discovery strategy in the form of Supplier<WebTarget>.
I would be glad to be hear some feedback on this and, if the module is
really production ready, why it is not "advertised" like it should be.
Thanks,
Fabrizio