[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