Hi Ranadeep,

On 24/02/16 01:35, ranadeep.sha...@gmail.com wrote:
Hi Sergey,

Thanks for the response. We have a requirement where we are planning to
preserve the usage of standard API going forward so that the functionality
is not impacted, no matter what the underlying implementation is.
I have some follow-up questions, below.

1) Is there any roadmap of releasing a future version of CXF Clustering
with full support for JAX-RS 2.0 API including the Failover retry features.
If so, when can we expect that to happen?

No specific work is being planned, but I suppose that can be done eventually.

2) Is the CXF implementation of Failover Retry (for both SOAP client and
REST client) thread-safe?

I haven't seen any thread-safety related issues reported so far

Cheers, Sergey

Regards,
Ranadeep.

Regards,
Ranadeep.

On Wed, Feb 10, 2016 at 5:42 PM, Sergey Beryozkin [via CXF] <
ml-node+s547215n5765816...@n5.nabble.com> wrote:

JAX-RS 2.0 API does not work with a CXF specific failover feature,
definitely not something I've had a chance to look into.
We'd need to create a JAX-RS 2.0 Feature wrapper but what is the point
of such a JAX-RS Feature can not be portable.

Consider using WebClient with FailoverFeature.

Sergey


On 10/02/16 21:57, [hidden email]
<http:///user/SendEmail.jtp?type=node&node=5765816&i=0> wrote:

I had tried some heavy exploration on enabling Failover feature, as per
documentation provided by Apache CXF. While the one for SOAP client
works
like a charm, the other one for REST client is not so with the way I am
trying to instantiate the client. My requirement of instantiating the
REST
client is via JAXRS 2.0.1 API, as shown in following sample code.NOTE :
The
following endpoint URL is a valid one, except that the port number has
been
switched from 8080 (working one) to 8081 (non-working one), since I need
to
simulate the invocation failure retry behavior.Client client =
ClientBuilder.newClient(); WebTarget target =
client.target("http://localhost:8081/my-app/ws/ers/customers";);
Invocation.Builder builder =
target.request(MediaType.APPLICATION_JSON_TYPE); Response response =
builder.get();I have found that the Failover feature is not working when
the
above last line of code is invoked.Now, here comes the interesting part.
I
have found only 2 classes in cxf-rt-rs-client-3.1.0-sources.jar where
the
initialization of Failover feature in a
org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean instance happens. And
my
requirement is to have one of these methods (or, a similar one where
bean.setFeatures(features) is invoked ) being called.Method in
org.apache.cxf.jaxrs.client.JAXRSClientFactory class.public static  T
create(String baseAddress,                        Class cls, List<?>
providers,                       List features,
String configLocation) {    JAXRSClientFactoryBean bean =
getBean(baseAddress, cls, configLocation);
  bean.setProviders(providers);
bean.setFeatures(features);    return bean.create(cls);}Method in
org.apache.cxf.jaxrs.client.WebClient class.public static WebClient
create(String baseAddress,                            List<?> providers,
List<? extends Feature> features,                           String
configLocation) {    JAXRSClientFactoryBean bean = getBean(baseAddress,
configLocation);    bean.setProviders(providers);
bean.setFeatures(features);    return bean.createWebClient();}However,
when
my custom client code above is executed, neither of the above 2 methods
have
been invoked. Instead, the following method in
org.apache.cxf.jaxrs.client.spec.ClientImpl is invoked.private void
initTargetClientIfNeeded() {    URI uri = this.uriBuilder.build(new
Object[0]);    if(this.targetClient == null) {
  JAXRSClientFactoryBean
bean = new JAXRSClientFactoryBean();
  bean.setAddress(uri.toString());
this.targetClient = bean.createWebClient();
ClientImpl.this.baseClients.add(this.targetClient);    }     else
if(!this.targetClient.getCurrentURI().equals(uri)) {
this.targetClient.to(uri.toString(), false);    } }Does this imply that
Failover Feature is NOT supported for CXF version 3.1.0 ?If so, which
upcoming version of CXF will support my above requirement ?



--
View this message in context:
http://cxf.547215.n5.nabble.com/No-support-for-FailoverFeature-in-CXF-Rest-Client-implementation-version-3-1-0-tp5765813.html
Sent from the cxf-user mailing list archive at Nabble.com.



--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/


------------------------------
If you reply to this email, your message will be added to the discussion
below:

http://cxf.547215.n5.nabble.com/No-support-for-FailoverFeature-in-CXF-Rest-Client-implementation-version-3-1-0-tp5765813p5765816.html
To unsubscribe from No support for FailoverFeature in CXF Rest Client
implementation (version 3.1.0), click here
<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5765813&code=cmFuYWRlZXAuc2hhcm1hQGdtYWlsLmNvbXw1NzY1ODEzfC0xOTAyNzcwMDYz>
.
NAML
<http://cxf.547215.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>





--
View this message in context: 
http://cxf.547215.n5.nabble.com/No-support-for-FailoverFeature-in-CXF-Rest-Client-implementation-version-3-1-0-tp5765813p5766234.html
Sent from the cxf-user mailing list archive at Nabble.com.


Reply via email to