Repository: cxf
Updated Branches:
  refs/heads/2.6.x-fixes 6e3e2f262 -> 83e2376b4


Preventing possible ThreadLocalClientState NPE


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

Branch: refs/heads/2.6.x-fixes
Commit: 83e2376b471d89b4fe6a7313fa76966ca77ff50a
Parents: 6e3e2f2
Author: Sergey Beryozkin <sberyoz...@talend.com>
Authored: Fri Feb 28 16:08:43 2014 +0000
Committer: Sergey Beryozkin <sberyoz...@talend.com>
Committed: Fri Feb 28 16:39:09 2014 +0000

----------------------------------------------------------------------
 .../org/apache/cxf/jaxrs/client/ThreadLocalClientState.java   | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/83e2376b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ThreadLocalClientState.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ThreadLocalClientState.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ThreadLocalClientState.java
index 6b5ddc5..35bc93f 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ThreadLocalClientState.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ThreadLocalClientState.java
@@ -121,6 +121,7 @@ public class ThreadLocalClientState implements ClientState {
             cs = new LocalClientState(initialState);
             state.put(Thread.currentThread(), cs);
             if (timeToKeepState > 0) {
+                prepareCheckpointMap();
                 long currentTime = System.currentTimeMillis();
                 checkpointMap.put(Thread.currentThread(), currentTime);
                 new CleanupThread(Thread.currentThread(), currentTime).start();
@@ -132,6 +133,12 @@ public class ThreadLocalClientState implements ClientState 
{
     public void setTimeToKeepState(long timeToKeepState) {
         this.timeToKeepState = timeToKeepState;
         if (timeToKeepState > 0) {
+            prepareCheckpointMap();
+        }
+    }
+
+    private void prepareCheckpointMap() {
+        if (checkpointMap == null) {
             checkpointMap = new ConcurrentHashMap<Thread, Long>();
         }
     }

Reply via email to