[wsas-java-dev] svn commit r1298 - in trunk/wsas/java: .
modules/clustering modules/clustering/src/org/wso2/wsas/clustering
modules/core/src/org/wso2/wsas modules/distribution/common
modules/distribution/standalone modules/distribution/webapp
modules/standalone-edition/conf
svn at wso2.org
svn at wso2.org
Fri Mar 16 04:32:53 PDT 2007
Author: azeez
Date: Fri Mar 16 04:32:25 2007
New Revision: 1298
Added:
trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java
Modified:
trunk/wsas/java/modules/clustering/pom.xml
trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManager.java
trunk/wsas/java/modules/distribution/common/pom.xml
trunk/wsas/java/modules/distribution/standalone/pom.xml
trunk/wsas/java/modules/distribution/webapp/pom.xml
trunk/wsas/java/modules/standalone-edition/conf/axis2.xml
trunk/wsas/java/pom.xml
Log:
More updates to node management
Modified: trunk/wsas/java/modules/clustering/pom.xml
==============================================================================
--- trunk/wsas/java/modules/clustering/pom.xml (original)
+++ trunk/wsas/java/modules/clustering/pom.xml Fri Mar 16 04:32:25 2007
@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>wso2wsas-clustering</artifactId>
- <packaging>pom</packaging>
+ <packaging>jar</packaging>
<version>1.2-SNAPSHOT</version>
<name>WSO2 Web Services Application Server - Clustering Implementation</name>
@@ -54,7 +54,7 @@
</configuration>
</plugin>
- <plugin>
+ <!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0-alpha-1-SNAPSHOT</version>
@@ -79,7 +79,7 @@
</configuration>
</execution>
</executions>
- </plugin>
+ </plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Added: trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java
==============================================================================
--- (empty file)
+++ trunk/wsas/java/modules/clustering/src/org/wso2/wsas/clustering/NodeManager.java Fri Mar 16 04:32:25 2007
@@ -0,0 +1,90 @@
+/*
+ * 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.wso2.wsas.clustering;
+
+import org.apache.axis2.cluster.ClusterManager;
+import org.apache.axis2.cluster.ClusteringFault;
+import org.apache.axis2.cluster.configuration.ConfigurationManager;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ *
+ */
+public class NodeManager {
+ private Log log = LogFactory.getLog(NodeManager.class);
+
+ public boolean loadServiceGroup(String serviceGroupName) throws ClusteringFault {
+ ConfigurationManager configMan = getConfigurationManager();
+ if (configMan != null) {
+ configMan.loadServiceGroup(serviceGroupName);
+ }
+ return false;
+ }
+
+ public boolean unloadServiceGroup(String serviceGroupName) throws ClusteringFault {
+ ConfigurationManager configMan = getConfigurationManager();
+ if (configMan != null) {
+ configMan.unloadServiceGroup(serviceGroupName);
+ }
+ return false;
+ }
+
+ public boolean applyPolicy(String serviceName, String policyId) throws ClusteringFault{
+ ConfigurationManager configMan = getConfigurationManager();
+ if (configMan != null) {
+// configMan.applyPolicy(serviceName, policyId);
+ }
+ return false;
+ }
+
+ public boolean reloadConfiguration() throws ClusteringFault {
+ ConfigurationManager configMan = getConfigurationManager();
+ if (configMan != null) {
+ configMan.reloadConfiguration();
+ }
+ return false;
+ }
+
+ public boolean commit() throws ClusteringFault {
+ ConfigurationManager configMan = getConfigurationManager();
+ if (configMan != null) {
+ configMan.commit();
+ }
+ return false;
+ }
+
+ private ConfigurationManager getConfigurationManager() {
+ ConfigurationContext rootContext = MessageContext.getCurrentMessageContext().getRootContext();
+ if (rootContext != null) {
+ ClusterManager clusterManager =
+ rootContext.getAxisConfiguration().getClusterManager();
+ if (clusterManager != null) {
+ ConfigurationManager configMan = clusterManager.getConfigurationManager();
+ if (configMan != null) {
+ return configMan;
+ } else {
+ log.warn("ConfigurationManager is null. Please set the TODO value in the axis2.xml file");
+ }
+ } else {
+ log.warn("ClusterManager is null. Please set the TODO value in the axis2.xml file");
+ }
+ }
+ return null;
+ }
+}
Modified: trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManager.java
==============================================================================
--- trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManager.java (original)
+++ trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManager.java Fri Mar 16 04:32:25 2007
@@ -16,13 +16,19 @@
package org.wso2.wsas;
import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.cluster.ClusterManager;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.description.AxisModule;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.ListenerManager;
import org.apache.axis2.i18n.Messages;
+import org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver;
+import org.apache.axis2.rpc.receivers.RPCMessageReceiver;
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.TreeBidiMap;
import org.apache.log4j.Logger;
@@ -50,10 +56,7 @@
import javax.xml.namespace.QName;
import java.io.File;
import java.net.SocketException;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Timer;
+import java.util.*;
/**
* The delegate used by WSAS standalone edition & servlet edition and contains the
@@ -87,8 +90,8 @@
private static ServerManager instance;
- public static ServerManager getInstance(){
- if(instance == null){
+ public static ServerManager getInstance() {
+ if (instance == null) {
instance = new ServerManager();
}
return instance;
@@ -137,6 +140,9 @@
initListenerManager();
RESTEndpointReferenceUtil.init(configContext.getAxisConfiguration());
+ // Enable clustering if necessary
+ enableClustering();
+
// Create the dynamic pages and save it in the ConfigContext
generatePages();
@@ -169,6 +175,32 @@
}
}
+ private void enableClustering() throws AxisFault {
+ AxisConfiguration axisConfig = configContext.getAxisConfiguration();
+ ClusterManager clusterManager = axisConfig.getClusterManager();
+ if (clusterManager != null) {
+ if (clusterManager.getConfigurationManager() != null) {
+ Map msgReceiverMap = new HashMap();
+ msgReceiverMap.put("http://www.w3.org/2004/08/wsdl/in-out",
+ new RPCMessageReceiver());
+ msgReceiverMap.put("http://www.w3.org/2004/08/wsdl/in-only",
+ new RPCInOnlyMessageReceiver());
+ AxisService nodeManagerService =
+ AxisService.createService("org.wso2.wsas.clustering.NodeManager",
+ axisConfig,
+ msgReceiverMap,
+ null,
+ "http://org.apache.axis2/xsd");
+ nodeManagerService.
+ setParent(axisConfig.getServiceGroup(ServerConstants.ADMIN_SERVICE_GROUP));
+ nodeManagerService.setName("NodeManager");
+ nodeManagerService.setScope(Constants.SCOPE_TRANSPORT_SESSION);
+ nodeManagerService.setElementFormDefault(false);
+ axisConfig.addService(nodeManagerService);
+ }
+ }
+ }
+
private void initKeystoresDir() {
ServerConfiguration serverConfig = ServerConfiguration.getInstance();
String ksDirName = serverConfig.getFirstProperty("Security.KeyStoresDir");
Modified: trunk/wsas/java/modules/distribution/common/pom.xml
==============================================================================
--- trunk/wsas/java/modules/distribution/common/pom.xml (original)
+++ trunk/wsas/java/modules/distribution/common/pom.xml Fri Mar 16 04:32:25 2007
@@ -40,7 +40,6 @@
<descriptors>
<descriptor>
src/assemble/dist-common-assembly.xml</descriptor>
- <!--<descriptor>src/main/assembly/src.xml</descriptor>-->
</descriptors>
<finalName>dist</finalName>
</configuration>
Modified: trunk/wsas/java/modules/distribution/standalone/pom.xml
==============================================================================
--- trunk/wsas/java/modules/distribution/standalone/pom.xml (original)
+++ trunk/wsas/java/modules/distribution/standalone/pom.xml Fri Mar 16 04:32:25 2007
@@ -114,6 +114,15 @@
${dist.dir}/temp/wso2wsas-${wso2wsas.version}/lib</outputDirectory>
</artifactItem>
<artifactItem>
+ <groupId>org.wso2.wsas</groupId>
+ <artifactId>wso2wsas-clustering</artifactId>
+ <version>${pom.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>
+ ${dist.dir}/temp/wso2wsas-${wso2wsas.version}/lib</outputDirectory>
+ </artifactItem>
+ <artifactItem>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk13</artifactId>
<version>${bcprov.jdk13.version}</version>
Modified: trunk/wsas/java/modules/distribution/webapp/pom.xml
==============================================================================
--- trunk/wsas/java/modules/distribution/webapp/pom.xml (original)
+++ trunk/wsas/java/modules/distribution/webapp/pom.xml Fri Mar 16 04:32:25 2007
@@ -154,6 +154,16 @@
<outputDirectory>
${war.temp.dir}/WEB-INF/lib</outputDirectory>
</artifactItem>
+
+ <artifactItem>
+ <groupId>org.wso2.wsas</groupId>
+ <artifactId>wso2wsas-clustering</artifactId>
+ <version>${pom.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>
+ ${war.temp.dir}/WEB-INF/lib</outputDirectory>
+ </artifactItem>
</artifactItems>
</configuration>
</execution>
Modified: trunk/wsas/java/modules/standalone-edition/conf/axis2.xml
==============================================================================
--- trunk/wsas/java/modules/standalone-edition/conf/axis2.xml (original)
+++ trunk/wsas/java/modules/standalone-edition/conf/axis2.xml Fri Mar 16 04:32:25 2007
@@ -41,10 +41,12 @@
<parameter name="servicePath" locked="false">soap</parameter>
<parameter name="restPath" locked="false">rest</parameter>
- <parameter name="userAgent" locked="true">WSO2 WSAS for Java - Version
- @wso2wsas_version@</parameter>
- <parameter name="server" locked="true">WSO2 WSAS for Java - Version
- @wso2wsas_version@</parameter>
+ <parameter name="userAgent" locked="true">
+ WSO2 WSAS for Java - Version @wso2wsas_version@
+ </parameter>
+ <parameter name="server" locked="true">
+ WSO2 WSAS for Java - Version @wso2wsas_version@
+ </parameter>
<!-- ========================================================================-->
@@ -315,4 +317,21 @@
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
</phaseOrder>
+
+ <!-- ================================================= -->
+ <!-- Clustering -->
+ <!-- ================================================= -->
+ <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
+ <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
+ <configurationManager class="org.apache.axis2.cluster.tribes.configuration.TribesConfigurationManager">
+ <listeners>
+ <listener class="org.wso2.wsas.clustering.WSASConfigManagerListener"/>
+ </listeners>
+ </configurationManager>
+ <contextManager class="org.apache.axis2.cluster.tribes.context.TribesContextManager">
+ <listeners>
+ <listener class="org.apache.axis2.cluster.listeners.DefaultContextManagerListener" />
+ </listeners>
+ </contextManager>
+ </cluster>
</axisconfig>
\ No newline at end of file
Modified: trunk/wsas/java/pom.xml
==============================================================================
--- trunk/wsas/java/pom.xml (original)
+++ trunk/wsas/java/pom.xml Fri Mar 16 04:32:25 2007
@@ -218,6 +218,10 @@
<id>wso2-maven2-repository</id>
<url>http://dist.wso2.org/maven2</url>
</repository>
+ <repository>
+ <id>tomcat-repository</id>
+ <url>http://tomcat.apache.org/dev/dist/m2-repository</url>
+ </repository>
<!-- Others are available from http://repo1.maven.org/maven2 -->
</repositories>
@@ -350,13 +354,25 @@
<version>${tomcat.version}</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>tomcat</groupId>
<artifactId>naming-factory-dbcp</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tribes</artifactId>
+ <version>${tribes.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>juli</artifactId>
+ <version>${juli.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>commons-modeler</groupId>
<artifactId>commons-modeler</artifactId>
<version>1.1</version>
@@ -461,6 +477,11 @@
<artifactId>axis2</artifactId>
<version>${axis2.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-cluster</artifactId>
+ <version>${axis2.version}</version>
+ </dependency>
<!-- Rampart Jars/Mars -->
<dependency>
@@ -1101,6 +1122,8 @@
<war.temp.assembly.dir>war_zip/temp</war.temp.assembly.dir>
<tomcat.version>5.5.15</tomcat.version>
+ <tribes.version>6.0.10</tribes.version>
+ <juli.version>6.0.10</juli.version>
<slf4j.version>1.0.1</slf4j.version>
More information about the Wsas-java-dev
mailing list