From 54d2f552f064b26098f79ddf9389de0b405e3d7e Mon Sep 17 00:00:00 2001 From: fmoga Date: Mon, 30 May 2011 19:49:17 +0000 Subject: 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 --- .../comet/runtime/CometServiceBindingProvider.java | 28 +++++++--------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java') diff --git a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java index 96b688aa4f..6c1d002575 100644 --- a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java +++ b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java @@ -21,6 +21,9 @@ package org.apache.tuscany.sca.binding.comet.runtime; import org.apache.tuscany.sca.assembly.ComponentService; import org.apache.tuscany.sca.binding.comet.runtime.javascript.JavascriptGenerator; +import org.apache.tuscany.sca.binding.comet.runtime.manager.CometEndpointManager; +import org.apache.tuscany.sca.binding.comet.runtime.manager.CometOperationManager; +import org.apache.tuscany.sca.binding.comet.runtime.manager.CometSessionManager; import org.apache.tuscany.sca.host.http.ServletHost; import org.apache.tuscany.sca.interfacedef.Interface; import org.apache.tuscany.sca.interfacedef.InterfaceContract; @@ -33,32 +36,14 @@ import org.apache.tuscany.sca.runtime.RuntimeEndpoint; */ public class CometServiceBindingProvider implements ServiceBindingProvider { - /** - * Service's endpoint. - */ private final RuntimeEndpoint endpoint; - - /** - * The underlying servlet host. - */ private final ServletHost servletHost; - /** - * Constructor. - * - * @param endpoint - * the given endpoint - * @param servletHost - * the given servlet host - */ public CometServiceBindingProvider(final RuntimeEndpoint endpoint, final ServletHost servletHost) { this.endpoint = endpoint; this.servletHost = servletHost; } - /** - * This method is used to start the provider. - */ @Override public void start() { String deployedURI = ServletFactory.registerServlet(this.servletHost); @@ -67,8 +52,10 @@ public class CometServiceBindingProvider implements ServiceBindingProvider { final Interface serviceInterface = service.getInterfaceContract().getInterface(); JavascriptGenerator.generateServiceProxy(service); for (final Operation operation : serviceInterface.getOperations()) { + final String url = "/" + endpoint.getService().getName() + "/" + operation.getName(); + CometEndpointManager.add(url, endpoint); + CometOperationManager.add(url, operation); JavascriptGenerator.generateMethodProxy(service, operation); - ServletFactory.registerOperation(this.endpoint, operation); } } @@ -78,6 +65,9 @@ public class CometServiceBindingProvider implements ServiceBindingProvider { @Override public void stop() { ServletFactory.unregisterServlet(this.servletHost); + CometEndpointManager.clear(); + CometOperationManager.clear(); + CometSessionManager.clear(); } @Override -- cgit v1.2.3