You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by az...@apache.org on 2007/05/23 14:48:26 UTC

svn commit: r540941 - in /webservices/axis2/trunk/java/modules: clustering/src/org/apache/axis2/clustering/context/ clustering/src/org/apache/axis2/clustering/context/commands/ clustering/src/org/apache/axis2/clustering/handlers/ clustering/src/org/apa...

Author: azeez
Date: Wed May 23 05:48:25 2007
New Revision: 540941

URL: http://svn.apache.org/viewvc?view=rev&rev=540941
Log:
Fixes for clustering implemetation + code cleanup


Modified:
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/PropertyUpdater.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceContextCommand.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/ServiceContextCommand.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java Wed May 23 05:48:25 2007
@@ -18,6 +18,8 @@
 import org.apache.axis2.clustering.context.commands.*;
 import org.apache.axis2.context.*;
 import org.apache.axis2.deployment.DeploymentConstants;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.io.Serializable;
 import java.util.Iterator;
@@ -29,6 +31,8 @@
  */
 public final class ContextClusteringCommandFactory {
 
+    private static final Log log = LogFactory.getLog(ContextClusteringCommandFactory.class);
+
     public static ContextClusteringCommand getUpdateCommand(AbstractContext context,
                                                             Map excludedPropertyPatterns) {
 
@@ -55,6 +59,7 @@
             UpdateServiceContextCommand updateServiceCmd =
                     (UpdateServiceContextCommand) cmd;
             updateServiceCmd.setServiceGroupName(serviceCtx.getGroupName());
+            updateServiceCmd.setServiceGroupContextId(serviceCtx.getServiceGroupContext().getId());
             updateServiceCmd.setServiceName(serviceCtx.getAxisService().getName());
             fillProperties((UpdateContextCommand) cmd,
                            context,
@@ -78,7 +83,7 @@
 
                 // Next check whether it matches an excluded pattern
                 if (!isExcluded(key, context.getClass().getName(), excludedPropertyPatterns)) {
-                    System.err.println("..................... sending prop=" + key + "-" + prop);
+                    log.debug("sending property =" + key + "-" + prop);
                     PropertyDifference diff = (PropertyDifference) diffs.get(key);
                     diff.setValue(prop);
                     updateCmd.addProperty(diff);
@@ -140,7 +145,7 @@
             ServiceContextCommand cmd = new CreateServiceContextCommand();
             ServiceGroupContext parent = (ServiceGroupContext) serviceCtx.getParent();
             if (parent != null) {
-                ((CreateServiceContextCommand) cmd).setServiceGroupContextId(parent.getId());
+                cmd.setServiceGroupContextId(parent.getId());
             }
             //TODO: check impl
             cmd.setServiceGroupName(serviceCtx.getGroupName());

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/PropertyUpdater.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/PropertyUpdater.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/PropertyUpdater.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/PropertyUpdater.java Wed May 23 05:48:25 2007
@@ -17,6 +17,8 @@
 
 import org.apache.axis2.context.AbstractContext;
 import org.apache.axis2.context.PropertyDifference;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.io.Serializable;
 import java.util.Iterator;
@@ -26,11 +28,12 @@
  * 
  */
 public class PropertyUpdater implements Serializable {
+    private static final Log log = LogFactory.getLog(PropertyUpdater.class);
 
     private Map properties;
 
     public void updateProperties(AbstractContext abstractContext) {
-        System.err.println("----- updating props in " + abstractContext);
+        log.debug("Updating props in " + abstractContext);
         for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
             String key = (String) iter.next();
             PropertyDifference propDiff =
@@ -39,7 +42,8 @@
                 abstractContext.removePropertyNonReplicable(key);
             } else {  // it is updated/added
                 abstractContext.setNonReplicableProperty(key, propDiff.getValue());
-                System.err.println("........ added prop=" + key + ", value="+ propDiff.getValue() + " to context " + abstractContext);
+                log.debug("Added prop=" + key + ", value="+ propDiff.getValue() +
+                          " to context " + abstractContext);
             }
         }
     }

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceContextCommand.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceContextCommand.java Wed May 23 05:48:25 2007
@@ -26,18 +26,8 @@
  * 
  */
 public class CreateServiceContextCommand extends ServiceContextCommand {
-    private String serviceGroupContextId;
 
     public void execute(ConfigurationContext configurationContext) throws ClusteringFault {
-        /*AxisService axisService =
-                configurationContext.getAxisConfiguration().
-                        getService(message.getContextID());
-        ServiceGroupContext sgCtx =
-                configurationContext.getServiceGroupContext(message.getParentContextID());
-        // This will create service context if one is not available
-        sgCtx.getServiceContext(axisService);*/
-
-        // TODO: Implementation
         ServiceGroupContext sgCtx =
                 configurationContext.getServiceGroupContext(serviceGroupContextId);
         AxisService axisService;
@@ -67,10 +57,6 @@
         } catch (AxisFault axisFault) {
             throw new ClusteringFault(axisFault);
         }
-    }
-
-    public void setServiceGroupContextId(String serviceGroupContextId) {
-        this.serviceGroupContextId = serviceGroupContextId;
     }
 
     public int getCommandType() {

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java Wed May 23 05:48:25 2007
@@ -43,7 +43,6 @@
     }
 
     public void setServiceGroupContextId(String serviceGroupContextId) {
-        System.err.println("$$$$$$$$$$$$$$$ set sg ctx ID=" + serviceGroupContextId);
         this.serviceGroupContextId = serviceGroupContextId;
     }
 }

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/ServiceContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/ServiceContextCommand.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/ServiceContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/ServiceContextCommand.java Wed May 23 05:48:25 2007
@@ -22,6 +22,7 @@
  */
 public abstract class ServiceContextCommand extends ContextClusteringCommand {
     protected String serviceGroupName;
+    protected String serviceGroupContextId;
     protected String serviceName;
 
     public void setServiceGroupName(String serviceGroupName) {
@@ -30,5 +31,9 @@
 
     public void setServiceName(String serviceName) {
         this.serviceName = serviceName;
+    }
+
+    public void setServiceGroupContextId(String serviceGroupContextId) {
+        this.serviceGroupContextId = serviceGroupContextId;
     }
 }

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java Wed May 23 05:48:25 2007
@@ -20,6 +20,11 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.PropertyDifference;
 import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.AxisFault;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.util.HashMap;
 
@@ -29,41 +34,22 @@
 public class UpdateServiceContextCommand
         extends ServiceContextCommand implements UpdateContextCommand {
 
+    private static final Log log = LogFactory.getLog(UpdateServiceContextCommand.class);
+
     private PropertyUpdater propertyUpdater = new PropertyUpdater();
 
     public void execute(ConfigurationContext configurationContext) throws ClusteringFault {
-        //TODO: Impl
-
-        /*ServiceGroupContext srvGrpCtx = configurationContext.getServiceGroupContext
-                (event.getParentContextID());
-        Iterator iter = srvGrpCtx.getServiceContexts();
-        String serviceCtxName = event.getDescriptionID();
-        ServiceContext serviceContext = null;
-        while (iter.hasNext()) {
-            ServiceContext serviceContext2 = (ServiceContext) iter.next();
-            if (serviceContext2.getName() != null
-                && serviceContext2.getName().equals(serviceCtxName)) {
-                serviceContext = serviceContext2;
-            }
+        log.debug("Updating service context properties...");
+        ServiceGroupContext sgCtx =
+                configurationContext.getServiceGroupContext(serviceGroupContextId);
+        try {
+            AxisService axisService =
+                    configurationContext.getAxisConfiguration().getService(serviceName);
+            ServiceContext serviceContext = sgCtx.getServiceContext(axisService, false);
+            propertyUpdater.updateProperties(serviceContext);
+        } catch (AxisFault e) {
+            throw new ClusteringFault(e);
         }
-
-        if (serviceContext != null) {
-
-            Map srvProps = updater.getServiceProps(event.getParentContextID(), event.getContextID());
-
-            if (srvProps != null) {
-                serviceContext.setProperties(srvProps);
-            }
-
-        } else {
-            String message = "Cannot find the ServiceContext with the ID:" + serviceCtxName;
-            log.error(message);
-        }*/
-
-        //TODO: Get the service context
-//        ServiceGroupContext sgCtx =
-//                configurationContext.getServiceGroupContext(serviceGroupContextId);
-//        propertyUpdater.updateProperties(sgCtx);
     }
 
     public boolean isPropertiesEmpty() {

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java Wed May 23 05:48:25 2007
@@ -34,8 +34,6 @@
     public void execute(ConfigurationContext configurationContext) throws ClusteringFault {
         ServiceGroupContext sgCtx =
                 configurationContext.getServiceGroupContext(serviceGroupContextId);
-        System.err.println("%%%%% serviceGroupContextId=" + serviceGroupContextId);
-        System.err.println("####### sgCtx=" + sgCtx);
         propertyUpdater.updateProperties(sgCtx);
     }
 

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java Wed May 23 05:48:25 2007
@@ -40,9 +40,7 @@
 
     public void flowComplete(MessageContext msgContext) {
         try {
-            System.err.println("############ Going to replicate state on flow complete");
             replicateState(msgContext);
-            System.err.println("########### Replicated state ");
         } catch (Exception e) {
             String message = "Could not replicate the state";
             log.error(message, e);

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java Wed May 23 05:48:25 2007
@@ -29,12 +29,11 @@
 
 
 public class ChannelListener implements org.apache.catalina.tribes.ChannelListener {
-
+    private static final Log log = LogFactory.getLog(ChannelListener.class);
+    
     private DefaultContextManager contextManager = null;
     private DefaultConfigurationManager configurationManager = null;
 
-    private static final Log log = LogFactory.getLog(ChannelListener.class);
-
     public ChannelListener(DefaultConfigurationManager configurationManager,
                            DefaultContextManager contextManager) {
         this.configurationManager = configurationManager;
@@ -54,7 +53,7 @@
     }
 
     public void messageReceived(Serializable msg, Member sender) {
-        System.err.println("####### Message received " + msg);
+        log.debug("Message received : " + msg);
         if (msg instanceof ContextClusteringCommand) {
             try {
                 ContextClusteringCommand comMsg = (ContextClusteringCommand) msg;

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java?view=diff&rev=540941&r1=540940&r2=540941
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java Wed May 23 05:48:25 2007
@@ -50,7 +50,7 @@
      */
     private final Map operationContextMap = new HashMap();
     private Hashtable serviceGroupContextMap = new Hashtable();
-    private Hashtable applicationSessionServiceGroupContextTable = new Hashtable();
+    private Hashtable applicationSessionServiceGroupContexts = new Hashtable();
     private AxisConfiguration axisConfiguration;
     private ThreadFactory threadPool;
     //To keep TransportManager instance
@@ -137,7 +137,7 @@
                 String serviceGroupName =
                         ((AxisServiceGroup) axisService.getParent()).getServiceGroupName();
                 serviceGroupContext =
-                        (ServiceGroupContext) applicationSessionServiceGroupContextTable.get(
+                        (ServiceGroupContext) applicationSessionServiceGroupContexts.get(
                                 serviceGroupName);
                 if (serviceGroupContext == null) {
                     AxisServiceGroup axisServiceGroup = messageContext.getAxisServiceGroup();
@@ -147,7 +147,7 @@
                     }
                     ConfigurationContext cfgCtx = messageContext.getConfigurationContext();
                     serviceGroupContext = cfgCtx.createServiceGroupContext(axisServiceGroup);
-                    applicationSessionServiceGroupContextTable
+                    applicationSessionServiceGroupContexts
                             .put(serviceGroupName, serviceGroupContext);
 
                     ClusterManager clusterManager = this.getAxisConfiguration().getClusterManager();
@@ -159,16 +159,23 @@
                     }
                 }
                 messageContext.setServiceGroupContext(serviceGroupContext);
-                messageContext.setServiceContext(
-                        serviceGroupContext.getServiceContext(axisService));
+                messageContext.setServiceContext(serviceGroupContext.getServiceContext(axisService));
             } else if (Constants.SCOPE_SOAP_SESSION.equals(scope)) {
                 String serviceGroupContextId = messageContext.getServiceGroupContextId();
                 if (serviceGroupContextId != null) {
-                    serviceGroupContext = getServiceGroupContextFromSoapSessionTable(
-                            serviceGroupContextId, messageContext);
+                    serviceGroupContext =
+                            getServiceGroupContextFromSoapSessionTable(serviceGroupContextId,
+                                                                       messageContext);
                     if (serviceGroupContext == null) {
-                        throw new AxisFault("Unable to find corresponding context" +
-                                            " for the serviceGroupId: " + serviceGroupContextId);
+
+                        // TODO: Adding this code so that requests to services deployed in soapsession scope will work
+                        // TODO: However, soapsession functionality is still broken
+                        serviceGroupContext = new ServiceGroupContext(this,
+                                                                      (AxisServiceGroup) axisService.getParent());
+                        serviceGroupContext.setId(serviceGroupContextId);
+                        registerServiceGroupContextintoSoapSessionTable(serviceGroupContext);
+//                        throw new AxisFault("Unable to find corresponding context" +
+//                                            " for the serviceGroupId: " + serviceGroupContextId);
                     }
                 } else {
                     AxisServiceGroup axisServiceGroup = (AxisServiceGroup) axisService.getParent();
@@ -185,13 +192,11 @@
                             contextManager.addContext(serviceGroupContext);
                         }
                     }
-
                     messageContext.setServiceGroupContextId(serviceGroupContextId);
                     registerServiceGroupContextintoSoapSessionTable(serviceGroupContext);
                 }
                 messageContext.setServiceGroupContext(serviceGroupContext);
-                messageContext.setServiceContext(
-                        serviceGroupContext.getServiceContext(axisService));
+                messageContext.setServiceContext(serviceGroupContext.getServiceContext(axisService));
             } else if (Constants.SCOPE_REQUEST.equals(scope)) {
                 AxisServiceGroup axisServiceGroup = (AxisServiceGroup) axisService.getParent();
                 serviceGroupContext = createServiceGroupContext(axisServiceGroup);
@@ -237,7 +242,8 @@
         }
     }
 
-    public void registerServiceGroupContextintoSoapSessionTable(ServiceGroupContext serviceGroupContext) {
+    public void registerServiceGroupContextintoSoapSessionTable(
+            ServiceGroupContext serviceGroupContext) {
         String id = serviceGroupContext.getId();
         serviceGroupContextMap.put(id, serviceGroupContext);
         serviceGroupContext.touch();
@@ -248,10 +254,10 @@
 
     public void addServiceGroupContextintoApplicatoionScopeTable(
             ServiceGroupContext serviceGroupContext) {
-        if (applicationSessionServiceGroupContextTable == null) {
-            applicationSessionServiceGroupContextTable = new Hashtable();
+        if (applicationSessionServiceGroupContexts == null) {
+            applicationSessionServiceGroupContexts = new Hashtable();
         }
-        applicationSessionServiceGroupContextTable.put(
+        applicationSessionServiceGroupContexts.put(
                 serviceGroupContext.getDescription().getServiceGroupName(), serviceGroupContext);
     }
 
@@ -339,7 +345,9 @@
      * @param contextListener a ContextListener
      */
     public void registerContextListener(ContextListener contextListener) {
-        if (contextListeners == null) contextListeners = new ArrayList();
+        if (contextListeners == null) {
+            contextListeners = new ArrayList();
+        }
         contextListeners.add(contextListener);
     }
 
@@ -349,16 +357,18 @@
      * @param context the just-created subcontext
      */
     void contextCreated(AbstractContext context) {
-        if (contextListeners == null) return;
+        if (contextListeners == null) {
+            return;
+        }
         for (Iterator i = contextListeners.iterator(); i.hasNext();) {
-            ContextListener listener = (ContextListener)i.next();
+            ContextListener listener = (ContextListener) i.next();
             listener.contextCreated(context);
         }
     }
 
     /**
      * Create a MessageContext, and notify any registered ContextListener.
-     * 
+     *
      * @return a new MessageContext
      */
     public MessageContext createMessageContext() {
@@ -411,12 +421,12 @@
      * Returns a ServiceGroupContext object associated
      * with the specified ID from the internal table.
      *
-     * @param Id The ID string associated with the ServiceGroupContext object
+     * @param serviceGroupCtxId The ID string associated with the ServiceGroupContext object
      * @return The ServiceGroupContext object, or null if not found
      */
-    public ServiceGroupContext getServiceGroupContext(String Id) {
+    public ServiceGroupContext getServiceGroupContext(String serviceGroupCtxId) {
 
-        if (Id == null) {
+        if (serviceGroupCtxId == null) {
             // Hashtables require non-null key-value pairs
             return null;
         }
@@ -424,12 +434,19 @@
         ServiceGroupContext serviceGroupContext = null;
 
         if (serviceGroupContextMap != null) {
-            serviceGroupContext = (ServiceGroupContext) serviceGroupContextMap.get(Id);
+            serviceGroupContext = (ServiceGroupContext) serviceGroupContextMap.get(serviceGroupCtxId);
             if (serviceGroupContext != null) {
                 serviceGroupContext.touch();
+            } else {
+                serviceGroupContext =
+                        (ServiceGroupContext) applicationSessionServiceGroupContexts.get(serviceGroupCtxId);
+                if (serviceGroupContext != null) {
+                    serviceGroupContext.touch();
+                }
             }
         }
 
+
         return serviceGroupContext;
     }
 
@@ -516,16 +533,16 @@
     }
 
     public void cleanupContexts() {
-        if ((applicationSessionServiceGroupContextTable != null) &&
-            (applicationSessionServiceGroupContextTable.size() > 0)) {
+        if ((applicationSessionServiceGroupContexts != null) &&
+            (applicationSessionServiceGroupContexts.size() > 0)) {
             Iterator applicationScopeSgs =
-                    applicationSessionServiceGroupContextTable.values().iterator();
+                    applicationSessionServiceGroupContexts.values().iterator();
             while (applicationScopeSgs.hasNext()) {
                 ServiceGroupContext serviceGroupContext =
                         (ServiceGroupContext) applicationScopeSgs.next();
                 cleanupServiceContexts(serviceGroupContext);
             }
-            applicationSessionServiceGroupContextTable.clear();
+            applicationSessionServiceGroupContexts.clear();
         }
         if ((serviceGroupContextMap != null) && (serviceGroupContextMap.size() > 0)) {
             Iterator sopaSessionSgs = serviceGroupContextMap.values().iterator();
@@ -607,7 +624,7 @@
 
     public void removeServiceGroupContext(AxisServiceGroup serviceGroup) {
         if (serviceGroup != null) {
-            Object obj = applicationSessionServiceGroupContextTable.get(
+            Object obj = applicationSessionServiceGroupContexts.get(
                     serviceGroup.getServiceGroupName());
             if (obj == null) {
                 ArrayList toBeRemovedList = new ArrayList();



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org