[wsas-java-dev] svn commit r2717 - in trunk/wsas/java:
modules/admin/src/org/wso2/wsas/admin/service
modules/core/src/org/wso2/wsas/util
modules/servlet-edition/conf modules/standalone-edition/conf xdocs
svn at wso2.org
svn at wso2.org
Wed May 16 02:45:35 PDT 2007
Author: azeez
Date: Wed May 16 02:44:51 2007
New Revision: 2717
Added:
trunk/wsas/java/xdocs/web.xml
Modified:
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/AxisConfigAdmin.java
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/GlobalAdmin.java
trunk/wsas/java/modules/core/src/org/wso2/wsas/util/ClusteringUtil.java
trunk/wsas/java/modules/servlet-edition/conf/axis2.xml
trunk/wsas/java/modules/standalone-edition/conf/axis2.xml
Log:
Adding the ReplicationHandler when Clusteing is enabled
Removing contextRoot parameter from axis2.xml files. The context root is calculated from the first request.
Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/AxisConfigAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/AxisConfigAdmin.java (original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/AxisConfigAdmin.java Wed May 16 02:44:51 2007
@@ -36,12 +36,6 @@
public class AxisConfigAdmin {
- public static final String PHASE_ORDER_TYPE_INFLOW = "inflow";
- public static final String PHASE_ORDER_TYPE_OUTFLOW = "outflow";
- public static final String PHASE_ORDER_TYPE_INFAULTFLOW = "infaultflow";
- public static final String PHASE_ORDER_TYPE_OUTFAULTFLOW = "outfaultflow";
-
-
private Logger logger = Logger.getLogger(AxisConfigAdmin.class);
/**
@@ -49,25 +43,26 @@
*/
public AxisConfigData getAxisConfigData() {
AxisConfigData axisConfigData = new AxisConfigData();
- AxisConfiguration axisConfiguration = MessageContext.getCurrentMessageContext()
- .getConfigurationContext().getAxisConfiguration();
+ AxisConfiguration axisConfiguration =
+ MessageContext.getCurrentMessageContext()
+ .getConfigurationContext().getAxisConfiguration();
// setting the inphase order data
- axisConfigData.setInflowPhaseOrder(getPhaseOrderData(axisConfiguration.getGlobalInFlow(),
- null, PHASE_ORDER_TYPE_INFLOW));
+ axisConfigData.setInflowPhaseOrder(getPhaseOrderData(axisConfiguration.getInFlowPhases(),
+ null));
axisConfigData.setOutflowPhaseOrder(getPhaseOrderData(
- axisConfiguration.getGlobalOutPhases(), null, PHASE_ORDER_TYPE_OUTFLOW));
- axisConfigData.setInfaultflowPhaseOrder(getPhaseOrderData(
- axisConfiguration.getInFaultFlow(), null, PHASE_ORDER_TYPE_INFAULTFLOW));
- axisConfigData.setOutfaultPhaseOrder(getPhaseOrderData(axisConfiguration.getOutFaultFlow(),
- null,
- PHASE_ORDER_TYPE_OUTFAULTFLOW));
+ axisConfiguration.getOutFlowPhases(), null));
+ axisConfigData.
+ setInfaultflowPhaseOrder(getPhaseOrderData(axisConfiguration.getInFaultFlowPhases(),
+ null));
+ axisConfigData.
+ setOutfaultPhaseOrder(getPhaseOrderData(axisConfiguration.getOutFaultFlowPhases(),
+ null));
return axisConfigData;
}
- private PhaseOrderData getPhaseOrderData(List globalPhaseList, List localPhaseList,
- String type) {
+ private PhaseOrderData getPhaseOrderData(List globalPhaseList, List localPhaseList) {
PhaseOrderData phaseOrderData = new PhaseOrderData();
int globalPhases = (globalPhaseList == null) ? 0 : globalPhaseList.size();
@@ -124,10 +119,10 @@
* @return Axis config data for the given axis operation
*/
- public AxisConfigData getOperationAxisConfigData(String service_id, String operation_id)
- throws AxisFault {
- logger.debug(
- "getting handler details for service " + service_id + " operation " + operation_id);
+ public AxisConfigData getOperationAxisConfigData(String service_id,
+ String operation_id) throws AxisFault {
+ logger.debug("Getting handler details for service " + service_id +
+ " operation " + operation_id);
AxisConfigData axisConfigData = new AxisConfigData();
AxisConfiguration axisConfiguration =
MessageContext.getCurrentMessageContext().getConfigurationContext()
@@ -137,21 +132,19 @@
AxisOperation axisOperation = axisService.getOperationByAction(operation_id);
// adding phases to axis config data object
- axisConfigData.setInflowPhaseOrder(getPhaseOrderData(axisConfiguration.getGlobalInFlow(),
- axisOperation.getRemainingPhasesInFlow(),
- PHASE_ORDER_TYPE_INFLOW));
- axisConfigData.setOutflowPhaseOrder(getPhaseOrderData(
- axisConfiguration.getGlobalOutPhases(), axisOperation.getPhasesOutFlow(),
- PHASE_ORDER_TYPE_OUTFLOW));
- axisConfigData.setInfaultflowPhaseOrder(getPhaseOrderData(
- axisConfiguration.getInFaultFlow(), axisOperation.getPhasesInFaultFlow(),
- PHASE_ORDER_TYPE_INFAULTFLOW));
- axisConfigData.setOutfaultPhaseOrder(getPhaseOrderData(axisConfiguration.getOutFaultFlow(),
- axisOperation.getPhasesOutFaultFlow(),
- PHASE_ORDER_TYPE_OUTFAULTFLOW));
+ axisConfigData.
+ setInflowPhaseOrder(getPhaseOrderData(axisConfiguration.getInFlowPhases(),
+ axisOperation.getRemainingPhasesInFlow()));
+ axisConfigData.
+ setOutflowPhaseOrder(getPhaseOrderData(axisConfiguration.getOutFlowPhases(),
+ axisOperation.getPhasesOutFlow()));
+ axisConfigData.
+ setInfaultflowPhaseOrder(getPhaseOrderData(axisConfiguration.getInFaultFlowPhases(),
+ axisOperation.getPhasesInFaultFlow()));
+ axisConfigData.
+ setOutfaultPhaseOrder(getPhaseOrderData(axisConfiguration.getOutFaultFlowPhases(),
+ axisOperation.getPhasesOutFaultFlow()));
return axisConfigData;
}
-
-
}
Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/GlobalAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/GlobalAdmin.java (original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/GlobalAdmin.java Wed May 16 02:44:51 2007
@@ -71,7 +71,7 @@
String[] handlers = null;
switch (flow) {
case PhaseMetadata.IN_FLOW: {
- ArrayList inflow = getAxisConfig().getGlobalInFlow();
+ ArrayList inflow = getAxisConfig().getInFlowPhases();
for (int i = 0; i < inflow.size(); i++) {
Phase phase = (Phase) inflow.get(i);
if (phase.getPhaseName().equals(phaseName)) {
@@ -86,7 +86,7 @@
break;
}
case PhaseMetadata.OUT_FLOW: {
- ArrayList phases = getAxisConfig().getGlobalOutPhases();
+ ArrayList phases = getAxisConfig().getOutFlowPhases();
for (int i = 0; i < phases.size(); i++) {
Phase phase = (Phase) phases.get(i);
if (phase.getPhaseName().equals(phaseName)) {
@@ -101,7 +101,7 @@
break;
}
case PhaseMetadata.FAULT_IN_FLOW: {
- ArrayList inflow = getAxisConfig().getInFaultFlow();
+ ArrayList inflow = getAxisConfig().getInFaultFlowPhases();
for (int i = 0; i < inflow.size(); i++) {
Phase phase = (Phase) inflow.get(i);
if (phase.getPhaseName().equals(phaseName)) {
@@ -116,7 +116,7 @@
break;
}
case PhaseMetadata.FAULT_OUT_FLOW: {
- ArrayList inflow = getAxisConfig().getOutFaultFlow();
+ ArrayList inflow = getAxisConfig().getOutFaultFlowPhases();
for (int i = 0; i < inflow.size(); i++) {
Phase phase = (Phase) inflow.get(i);
if (phase.getPhaseName().equals(phaseName)) {
@@ -168,7 +168,7 @@
switch (flow) {
case PhaseMetadata.IN_FLOW: {
- ArrayList inflow = getAxisConfig().getGlobalInFlow();
+ ArrayList inflow = getAxisConfig().getInFlowPhases();
phaseNames = new String[inflow.size()];
for (int i = 0; i < inflow.size(); i++) {
@@ -179,7 +179,7 @@
break;
}
case PhaseMetadata.OUT_FLOW: {
- ArrayList inflow = getAxisConfig().getGlobalOutPhases();
+ ArrayList inflow = getAxisConfig().getOutFlowPhases();
phaseNames = new String[inflow.size()];
for (int i = 0; i < inflow.size(); i++) {
@@ -190,7 +190,7 @@
break;
}
case PhaseMetadata.FAULT_IN_FLOW: {
- ArrayList inflow = getAxisConfig().getInFaultFlow();
+ ArrayList inflow = getAxisConfig().getInFaultFlowPhases();
phaseNames = new String[inflow.size()];
for (int i = 0; i < inflow.size(); i++) {
@@ -201,7 +201,7 @@
break;
}
case PhaseMetadata.FAULT_OUT_FLOW: {
- ArrayList inflow = getAxisConfig().getOutFaultFlow();
+ ArrayList inflow = getAxisConfig().getOutFaultFlowPhases();
phaseNames = new String[inflow.size()];
for (int i = 0; i < inflow.size(); i++) {
@@ -212,7 +212,6 @@
break;
}
}
-
return phaseNames;
}
Modified: trunk/wsas/java/modules/core/src/org/wso2/wsas/util/ClusteringUtil.java
==============================================================================
--- trunk/wsas/java/modules/core/src/org/wso2/wsas/util/ClusteringUtil.java (original)
+++ trunk/wsas/java/modules/core/src/org/wso2/wsas/util/ClusteringUtil.java Wed May 16 02:44:51 2007
@@ -18,6 +18,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.cluster.ClusterManager;
+import org.apache.axis2.cluster.handlers.ReplicationHandler;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.*;
import org.apache.axis2.engine.AxisConfiguration;
@@ -45,6 +46,64 @@
isClusterManagerInitialized = true;
}
+ // Context Manager
+ if(clusterManager.getContextManager() != null){
+ //TODO: Add the ReplicationHandler as the last handler in each flow
+ {
+ Phase inFlowClusteringReplicationPhase = new Phase("ClusteringReplication");
+ ReplicationHandler handler = new ReplicationHandler();
+ HandlerDescription handlerDesc = handler.getHandlerDesc();
+ PhaseRule rule = new PhaseRule("Replication");
+ rule.setPhaseFirst(true);
+ handlerDesc.setName("ReplicationHandler");
+ handlerDesc.setClassName(ReplicationHandler.class.getName());
+ handlerDesc.setRules(rule);
+ inFlowClusteringReplicationPhase.addHandler(handler);
+// inFlowClusteringReplicationPhase.addHandler(handlerDesc);
+ axisConfig.getInFlowPhases().add(inFlowClusteringReplicationPhase);
+ }
+
+ /* {
+ Phase inFaultFlowClusteringReplicationPhase = new Phase("ClusteringReplication");
+ ReplicationHandler handler = new ReplicationHandler();
+ HandlerDescription handlerDesc = handler.getHandlerDesc();
+ PhaseRule rule = new PhaseRule("Replication");
+ rule.setPhaseFirst(true);
+ handlerDesc.setName("ReplicationHandler");
+ handlerDesc.setClassName(ReplicationHandler.class.getName());
+ handlerDesc.setRules(rule);
+ inFaultFlowClusteringReplicationPhase.addHandler(handler);
+ axisConfig.getInFaultFlowPhases().add(inFaultFlowClusteringReplicationPhase);
+ }
+
+ {
+ Phase outFlowClusteringReplicationPhase = new Phase("ClusteringReplication");
+ ReplicationHandler handler = new ReplicationHandler();
+ HandlerDescription handlerDesc = handler.getHandlerDesc();
+ PhaseRule rule = new PhaseRule("Replication");
+ rule.setPhaseFirst(true);
+ handlerDesc.setName("ReplicationHandler");
+ handlerDesc.setClassName(ReplicationHandler.class.getName());
+ handlerDesc.setRules(rule);
+ outFlowClusteringReplicationPhase.addHandler(handler);
+ axisConfig.getOutFlowPhases().add(outFlowClusteringReplicationPhase);
+ }
+
+ {
+ Phase outFaultFlowClusteringReplicationPhase = new Phase("ClusteringReplication");
+ ReplicationHandler handler = new ReplicationHandler();
+ HandlerDescription handlerDesc = handler.getHandlerDesc();
+ PhaseRule rule = new PhaseRule("Replication");
+ rule.setPhaseFirst(true);
+ handlerDesc.setName("ReplicationHandler");
+ handlerDesc.setClassName(ReplicationHandler.class.getName());
+ handlerDesc.setRules(rule);
+ outFaultFlowClusteringReplicationPhase.addHandler(handler);
+ axisConfig.getOutFaultFlowPhases().add(outFaultFlowClusteringReplicationPhase);
+ }*/
+ }
+
+ // Configuration Manager
if (clusterManager.getConfigurationManager() != null) {
Map msgReceiverMap = new HashMap();
msgReceiverMap.put(WSDL2Constants.MEP_URI_IN_OUT,
@@ -73,14 +132,13 @@
} catch (Exception e) {
throw AxisFault.makeFault(e);
}
-// axisConfig.addService(nodeManagerService);
} else {
axisConfig.addService(nodeManagerService);
}
// Add a RequestBlockingHandler. This is needed when "prepare" is called
- ArrayList globalInFlow = axisConfig.getGlobalInFlow();
- for (Iterator iterator = globalInFlow.iterator(); iterator.hasNext();) {
+ for (Iterator iterator = axisConfig.getInFlowPhases().iterator();
+ iterator.hasNext();) {
Phase phase = (Phase) iterator.next();
if (phase instanceof DispatchPhase) {
PhaseRule rule = new PhaseRule("Dispatch");
@@ -90,8 +148,9 @@
HandlerDescription handlerDesc = handler.getHandlerDesc();
handlerDesc.setHandler(handler);
handlerDesc.setName("RequestBlockingHandler");
+ handlerDesc.setClassName(RequestBlockingHandler.class.getName());
handlerDesc.setRules(rule);
- phase.addHandler(handlerDesc);
+ phase.addHandler(handler);
}
}
}
Modified: trunk/wsas/java/modules/servlet-edition/conf/axis2.xml
==============================================================================
--- trunk/wsas/java/modules/servlet-edition/conf/axis2.xml (original)
+++ trunk/wsas/java/modules/servlet-edition/conf/axis2.xml Wed May 16 02:44:51 2007
@@ -36,8 +36,7 @@
<listener class="org.wso2.wsas.deployment.DeploymentInterceptor"/>
<listener class="org.wso2.wsas.feed.FeedListener"/>
- <!-- setting contextRoot and servicePath-->
- <parameter name="contextRoot">/wso2wsas</parameter>
+ <!-- setting servicePath-->
<parameter name="servicePath">services</parameter>
<parameter name="userAgent"
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 Wed May 16 02:44:51 2007
@@ -4,7 +4,6 @@
<!-- Globally engaged modules -->
<!-- ================================================= -->
<module ref="wso2statistics"/>
- <!--<module ref="wso2tracer"/>-->
<!-- ================================================= -->
<!-- Parameters -->
@@ -32,7 +31,7 @@
<listener class="org.wso2.wsas.deployment.DeploymentInterceptor"/>
<listener class="org.wso2.wsas.feed.FeedListener"/>
- <!-- setting contextPath and servicePath-->
+ <!-- setting servicePath-->
<parameter name="contextRoot">/</parameter>
<parameter name="servicePath">services</parameter>
Added: trunk/wsas/java/xdocs/web.xml
==============================================================================
More information about the Wsas-java-dev
mailing list