Author: rmannibucau
Date: Mon Jan 7 01:34:23 2013
New Revision: 1429639
URL: http://svn.apache.org/viewvc?rev=1429639&view=rev
Log:
OPENEJB-1984 // mode for session
Modified:
openejb/trunk/openejb/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
Modified:
openejb/trunk/openejb/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java?rev=1429639&r1=1429638&r2=1429639&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
(original)
+++
openejb/trunk/openejb/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
Mon Jan 7 01:34:23 2013
@@ -53,6 +53,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
/**
* A class to take care of HTTP Requests. It parses headers, content, form
and url
@@ -64,7 +65,7 @@ public class HttpRequestImpl implements
private static final String CHUNKED = "chunked";
protected static final String EJBSESSIONID = "EJBSESSIONID";
- private static final Map<String, HttpSession> SESSIONS = new
ConcurrentHashMap<String, HttpSession>();
+ private static final ConcurrentMap<String, HttpSession> SESSIONS = new
ConcurrentHashMap<String, HttpSession>();
/**
* 5.1.1 Method
@@ -777,7 +778,10 @@ public class HttpRequestImpl implements
public HttpSession getSession(boolean create) {
if (session == null) {
session = new HttpSessionImpl();
- SESSIONS.put(session.getId(), session);
+ final HttpSession previous = SESSIONS.putIfAbsent(session.getId(),
session);
+ if (previous != null) {
+ session = previous;
+ }
}
return session;
}