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 ch...@apache.org on 2007/02/24 17:04:25 UTC
svn commit: r511289 [2/2] - in /webservices/axis2/trunk/java: etc/
modules/clustering/ modules/clustering/conf/ modules/clustering/src/
modules/clustering/src/org/ modules/clustering/src/org/apache/
modules/clustering/src/org/apache/axis2/ modules/clus...
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceContext.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceContext.java Sat Feb 24 08:04:23 2007
@@ -780,4 +780,10 @@
log.warn(logCorrelationIDString+":"+methodname+"(): ****WARNING**** "+myClassName+".activate(configurationContext) needs to be invoked.");
}
}
+
+ public ConfigurationContext getRootContext() {
+ return configContext;
+ }
+
+
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java Sat Feb 24 08:04:23 2007
@@ -18,6 +18,7 @@
package org.apache.axis2.context;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.cluster.ClusterManager;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.AxisServiceGroup;
import org.apache.axis2.engine.AxisConfiguration;
@@ -143,6 +144,12 @@
if (serviceContext == null) {
serviceContext = new ServiceContext(service, this);
serviceContextMap.put(service.getName(), serviceContext);
+
+ ClusterManager clusterManager = axisService.getAxisConfiguration().getClusterManager();
+ if (clusterManager!=null) {
+ clusterManager.addContext(serviceContext);
+ }
+
}
return serviceContext;
}
@@ -575,4 +582,9 @@
log.warn(myClassName+":"+methodname+"(): ****WARNING**** "+myClassName+".activate(configurationContext) needs to be invoked.");
}
}
+
+ public ConfigurationContext getRootContext() {
+ //parent of the ServiceGroupContext is the ConfigurationContext
+ return (ConfigurationContext) this.getParent();
+ }
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java Sat Feb 24 08:04:23 2007
@@ -324,5 +324,11 @@
}
+ public ConfigurationContext getRootContext() {
+ // Session Context does not live within the hierarchy
+ return null;
+ }
+
+
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java Sat Feb 24 08:04:23 2007
@@ -140,7 +140,14 @@
if (defaultModuleVerionElement != null) {
processDefaultModuleVersions(defaultModuleVerionElement);
}
-
+
+ OMElement clusterElement = config_element
+ .getFirstChildWithName(new QName(TAG_CLUSTER));
+ if (clusterElement != null) {
+ ClusterBuilder clusterBuilder = new ClusterBuilder(axisConfig);
+ clusterBuilder.buildCluster(clusterElement);
+ }
+
// process MessageBuilders
OMElement messageBuildersElement = config_element.getFirstChildWithName(new QName(TAG_MESSAGE_BUILDERS));
if (messageBuildersElement != null) {
Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ClusterBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ClusterBuilder.java?view=auto&rev=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ClusterBuilder.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ClusterBuilder.java Sat Feb 24 08:04:23 2007
@@ -0,0 +1,72 @@
+/**
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.axis2.deployment;
+
+import java.io.InputStream;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.cluster.ClusterManager;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.i18n.Messages;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+
+/**
+ * Builds a service description from OM
+ */
+public class ClusterBuilder extends DescriptionBuilder {
+ private static final Log log = LogFactory.getLog(ClusterBuilder.class);
+ private AxisService service;
+
+ public ClusterBuilder(AxisConfiguration axisConfig) {
+ this.axisConfig = axisConfig;
+ }
+
+ public ClusterBuilder(InputStream serviceInputStream, AxisConfiguration axisConfig) {
+ super(serviceInputStream, axisConfig);
+ }
+
+ /**
+ * Populates service from corresponding OM.
+ */
+ public void buildCluster(OMElement clusterElement)
+ throws DeploymentException {
+
+ String className = clusterElement.getAttribute(
+ new QName(TAG_CLASS_NAME)).getAttributeValue();
+ ClusterManager clusterManager;
+ try {
+ Class clazz = Class.forName(className);
+ clusterManager = (ClusterManager) clazz.newInstance();
+ axisConfig.setClusterManager(clusterManager);
+ return;
+ } catch (ClassNotFoundException e) {
+ throw new DeploymentException (Messages.getMessage("clusterImplNotFound"));
+ } catch (InstantiationException e) {
+ throw new DeploymentException (Messages.getMessage("cannotLoadClusterImpl"));
+ } catch (IllegalAccessException e) {
+ throw new DeploymentException (e);
+ }
+
+ }
+
+}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java Sat Feb 24 08:04:23 2007
@@ -69,6 +69,7 @@
String TAG_TRANSPORT = "transport";
String TAG_MEP = "mep";
String TAG_DEFAULT_MODULE_VERSION = "defaultModuleVersions";
+ String TAG_CLUSTER = "cluster";
String TAG_MESSAGE_BUILDERS = "messageBuilders"; //used to add pluggable support for diffrent wire formats
String TAG_MESSAGE_BUILDER = "messageBuilder";
String TAG_CONTENT_TYPE = "contentType";
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Sat Feb 24 08:04:23 2007
@@ -17,6 +17,7 @@
package org.apache.axis2.engine;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.cluster.ClusterManager;
import org.apache.axis2.builder.OMBuilder;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.dataretrieval.AxisDataLocator;
@@ -137,6 +138,8 @@
private boolean start;
private ArrayList targetResolvers;
+
+ private ClusterManager clusterManager;
/**
* Constructor AxisConfigurationImpl.
@@ -876,6 +879,14 @@
+ defualtModuleVersion));
}
}
+
+ public ClusterManager getClusterManager() {
+ return clusterManager;
+ }
+
+ public void setClusterManager(ClusterManager clusterManager) {
+ this.clusterManager = clusterManager;
+ }
public Object getKey() {
return toString();
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties Sat Feb 24 08:04:23 2007
@@ -85,6 +85,7 @@
threadpoolset=The thread pool is already set.
transportiniterror=A transport-OUT initialization error: {0}
invalidserviceinagroup=The {0} service, which is not valid, does not belong to the {1} service group.
+cannotFlushRootNull=Cannot flush the context since the root context is null
# Deployment Errors
invalidWSDLFound=The WSDL file found in the service archive file is not valid. The WSDL file must have either \
@@ -202,6 +203,9 @@
outmsgctxnull=The out message context is null. Set the out message context before calling this method.
cannotreset=The message exchange pattern (MEP) is not complete. Cannot reset
cannotaddmsgctx=The system cannot add the message context again until client runs.
+clusterImplNotFound=Cluster implementation class not found
+cannotLoadClusterImpl=Cannot load Cluster implementation
+
#Policy
emptypolicy=The Policy ID is either null or empty.
#outMessageNull=The out message is null.
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java?view=diff&rev=511289&r1=511288&r2=511289
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java Sat Feb 24 08:04:23 2007
@@ -28,6 +28,7 @@
import org.apache.axiom.soap.SOAPFault;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
+import org.apache.axis2.cluster.ClusterManager;
import org.apache.axis2.context.*;
import org.apache.axis2.description.AxisModule;
import org.apache.axis2.description.AxisOperation;
@@ -132,8 +133,15 @@
serviceGroupContext.setId(serviceGroupContextId);
configurationContext.registerServiceGroupContextintoSoapSessionTable(serviceGroupContext);
-
- return new ServiceContext(axisService, serviceGroupContext);
+ ServiceContext serviceContext = new ServiceContext(axisService, serviceGroupContext);
+
+ ClusterManager clusterManager = configurationContext.getAxisConfiguration().getClusterManager();
+ if (clusterManager!=null) {
+ clusterManager.addContext(serviceGroupContext);
+ clusterManager.addContext(serviceContext);
+ }
+
+ return serviceContext;
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org