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 2016/02/15 12:51:08 UTC

cxf git commit: [CXF-6774] Checking a thread.safe.client property

Repository: cxf
Updated Branches:
  refs/heads/master 8f033131b -> 21ac2b956


[CXF-6774] Checking a thread.safe.client property


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/21ac2b95
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/21ac2b95
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/21ac2b95

Branch: refs/heads/master
Commit: 21ac2b956ead06ed57dbd4cb72e8435b2b5b3dec
Parents: 8f03313
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Mon Feb 15 11:50:53 2016 +0000
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Mon Feb 15 11:50:53 2016 +0000

----------------------------------------------------------------------
 .../org/apache/cxf/jaxrs/client/spec/ClientImpl.java     | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/21ac2b95/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java
----------------------------------------------------------------------
diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java
index cd440dc..316dd69 100644
--- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java
+++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java
@@ -54,6 +54,7 @@ public class ClientImpl implements Client {
     private static final String HTTP_PROXY_SERVER_PORT_PROP = "http.proxy.server.port";
     private static final String HTTP_AUTOREDIRECT_PROP = "http.autoredirect";
     private static final String HTTP_RESPONSE_AUTOCLOSE_PROP = "http.response.stream.auto.close";
+    private static final String THREAD_SAFE_CLIENT_PROP = "thread.safe.client";
     
     private Configurable<Client> configImpl;
     private TLSConfiguration secConfig;
@@ -242,8 +243,9 @@ public class ClientImpl implements Client {
         @Override
         public Builder request() {
             checkClosed();
+            Map<String, Object> configProps = getConfiguration().getProperties();
             
-            initTargetClientIfNeeded(); 
+            initTargetClientIfNeeded(configProps); 
             
             ClientProviderFactory pf = 
                 ClientProviderFactory.getInstance(WebClient.getConfig(targetClient).getEndpoint());
@@ -266,7 +268,6 @@ public class ClientImpl implements Client {
             }
             
             pf.setUserProviders(providers);
-            Map<String, Object> configProps = getConfiguration().getProperties();
             ClientConfiguration clientCfg = WebClient.getConfig(targetClient);
             
             clientCfg.getRequestContext().putAll(configProps);
@@ -318,11 +319,15 @@ public class ClientImpl implements Client {
             }
         }
 
-        private void initTargetClientIfNeeded() {
+        private void initTargetClientIfNeeded(Map<String, Object> configProps) {
             URI uri = uriBuilder.build();
             if (targetClient == null) {
                 JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
                 bean.setAddress(uri.toString());
+                Boolean threadSafe = getBooleanValue(configProps.get(THREAD_SAFE_CLIENT_PROP));
+                if (threadSafe != null) {
+                    bean.setThreadSafe(threadSafe);
+                }
                 targetClient = bean.createWebClient();
                 ClientImpl.this.baseClients.add(targetClient);
             } else if (!targetClient.getCurrentURI().equals(uri)) {