You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/04/18 12:16:33 UTC
svn commit: r1469265 -
/cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
Author: sergeyb
Date: Thu Apr 18 10:16:33 2013
New Revision: 1469265
URL: http://svn.apache.org/r1469265
Log:
[CXF-4972] Moving Retryable invoke method out of WebClient API
Modified:
cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
Modified: cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java?rev=1469265&r1=1469264&r2=1469265&view=diff
==============================================================================
--- cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java (original)
+++ cxf/trunk/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java Thu Apr 18 10:16:33 2013
@@ -93,7 +93,7 @@ import org.apache.cxf.transport.MessageO
* Common proxy and http-centric client implementation
*
*/
-public abstract class AbstractClient implements Client, Retryable {
+public abstract class AbstractClient implements Client {
protected static final String REQUEST_CONTEXT = "RequestContext";
protected static final String RESPONSE_CONTEXT = "ResponseContext";
protected static final String KEEP_CONDUIT_ALIVE = "KeepConduitAlive";
@@ -590,8 +590,8 @@ public abstract class AbstractClient imp
}
@SuppressWarnings("unchecked")
- public Object[] invoke(BindingOperationInfo oi, Object[] params, Map<String, Object> context,
- Exchange exchange) throws Exception {
+ protected Object[] retryInvoke(BindingOperationInfo oi, Object[] params, Map<String, Object> context,
+ Exchange exchange) throws Exception {
try {
Object body = params.length == 0 ? null : params[0];
@@ -886,7 +886,7 @@ public abstract class AbstractClient imp
exchange = createExchange(m, exchange);
exchange.put(Message.REST_MESSAGE, Boolean.TRUE);
exchange.setOneWay("true".equals(headers.getFirst(Message.ONE_WAY_REQUEST)));
- exchange.put(Retryable.class, this);
+ exchange.put(Retryable.class, new RetryableImpl());
// context
setContexts(m, exchange, invocationContext, proxy);
@@ -994,4 +994,13 @@ public abstract class AbstractClient imp
Annotation[] customAnns,
OutputStream os) throws Fault;
}
+
+ private class RetryableImpl implements Retryable {
+
+ public Object[] invoke(BindingOperationInfo oi, Object[] params, Map<String, Object> context,
+ Exchange exchange) throws Exception {
+ return AbstractClient.this.retryInvoke(oi, params, context, exchange);
+ }
+
+ }
}