diff options
author | fmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68> | 2011-05-30 19:49:17 +0000 |
---|---|---|
committer | fmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68> | 2011-05-30 19:49:17 +0000 |
commit | 54d2f552f064b26098f79ddf9389de0b405e3d7e (patch) | |
tree | 3fa6ea5a8c0f3d0409d2ac6afe4395d044775220 /sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager | |
parent | fcc065b22a21e117c0a9636bea5292a4fb2d2822 (diff) |
Move from relying on the HTTP session to manual session management using sessionIds generated by the javascript on page load.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1129323 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager')
3 files changed, 90 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometEndpointManager.java b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometEndpointManager.java new file mode 100644 index 0000000000..9fe0353f03 --- /dev/null +++ b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometEndpointManager.java @@ -0,0 +1,30 @@ +package org.apache.tuscany.sca.binding.comet.runtime.manager; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.apache.tuscany.sca.runtime.RuntimeEndpoint; + +public class CometEndpointManager { + + private static final ConcurrentMap<String, RuntimeEndpoint> endpoints = new ConcurrentHashMap<String, RuntimeEndpoint>(); + + private CometEndpointManager() { + } + + public static void add(String url, RuntimeEndpoint endpoint) { + endpoints.put(url, endpoint); + } + + public static RuntimeEndpoint get(String url) { + return endpoints.get(url); + } + + public static void remove(String url) { + endpoints.remove(url); + } + + public static void clear() { + endpoints.clear(); + } +} diff --git a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometOperationManager.java b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometOperationManager.java new file mode 100644 index 0000000000..3179603b96 --- /dev/null +++ b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometOperationManager.java @@ -0,0 +1,30 @@ +package org.apache.tuscany.sca.binding.comet.runtime.manager; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.apache.tuscany.sca.interfacedef.Operation; + +public class CometOperationManager { + + private static final ConcurrentMap<String, Operation> operations = new ConcurrentHashMap<String, Operation>(); + + private CometOperationManager() { + } + + public static void add(String url, Operation operation) { + operations.put(url, operation); + } + + public static Operation get(String url) { + return operations.get(url); + } + + public static void remove(String url) { + operations.remove(url); + } + + public static void clear() { + operations.clear(); + } +} diff --git a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometSessionManager.java b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometSessionManager.java new file mode 100644 index 0000000000..a34a3615d5 --- /dev/null +++ b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/manager/CometSessionManager.java @@ -0,0 +1,30 @@ +package org.apache.tuscany.sca.binding.comet.runtime.manager; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.atmosphere.cpr.Broadcaster; + +public class CometSessionManager { + + private static final ConcurrentMap<String, Broadcaster> broadcasters = new ConcurrentHashMap<String, Broadcaster>(); + + private CometSessionManager() { + } + + public static void add(String sessionId, Broadcaster broadcaster) { + broadcasters.put(sessionId, broadcaster); + } + + public static Broadcaster get(String sessionId) { + return broadcasters.get(sessionId); + } + + public static void remove(String sessionId) { + broadcasters.remove(sessionId); + } + + public static void clear() { + broadcasters.clear(); + } +} |