[esb-java-dev] svn commit r23920 - in branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse: endpoints util/datasource
indika at wso2.com
indika at wso2.com
Fri Nov 14 02:55:34 PST 2008
Author: indika
Date: Fri Nov 14 02:55:34 2008
New Revision: 23920
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=23920
Log:
fix for CARBON-181
Modified:
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/FailoverEndpoint.java
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/LoadbalanceEndpoint.java
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/SALoadbalanceEndpoint.java
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/util/datasource/DataSourceInformationRepositoryHelper.java
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java Fri Nov 14 02:55:34 2008
@@ -19,24 +19,24 @@
package org.apache.synapse.endpoints;
+import org.apache.axis2.clustering.ClusterManager;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.FaultHandler;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.transport.base.BaseConstants;
import org.apache.synapse.core.axis2.Axis2MessageContext;
import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.clustering.ClusterManager;
+import org.apache.synapse.transport.base.BaseConstants;
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import java.util.Stack;
+import java.lang.management.ManagementFactory;
import java.util.List;
import java.util.Set;
-import java.lang.management.ManagementFactory;
+import java.util.Stack;
/**
* An abstract base class for all Endpoint implementations
@@ -440,4 +440,14 @@
+ "], [To : " + synMessageContext.getTo() + "]");
}
}
+
+ protected void informFailure(MessageContext synCtx, int errorCode, String errorMsg) {
+
+ if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null) {
+ synCtx.setProperty(SynapseConstants.ERROR_CODE, errorCode);
+ synCtx.setProperty(SynapseConstants.ERROR_MESSAGE, errorMsg);
+ synCtx.setProperty(SynapseConstants.ERROR_DETAIL, errorMsg);
+ }
+ onFault(synCtx);
+ }
}
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java Fri Nov 14 02:55:34 2008
@@ -19,13 +19,13 @@
package org.apache.synapse.endpoints;
-import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.synapse.transport.base.MessageLevelMetricsCollector;
-import java.util.Map;
-import java.util.HashMap;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
/**
* This class is the metrics collector and JMX control point for Endpoints
@@ -84,7 +84,9 @@
public void switchOn() throws Exception {
if (endpoint.getChildren() != null) {
for (Endpoint e : endpoint.getChildren()) {
- e.getMetricsMBean().switchOn();
+ if (e.getMetricsMBean() != null) {
+ e.getMetricsMBean().switchOn();
+ }
}
} else {
if (endpoint.getContext() != null) {
@@ -95,12 +97,15 @@
/**
* Switch off a leaf endpoint, or all endpoints of a group - for maintenence
+ *
* @throws Exception
*/
public void switchOff() throws Exception {
if (endpoint.getChildren() != null) {
for (Endpoint e : endpoint.getChildren()) {
- e.getMetricsMBean().switchOff();
+ if (e.getMetricsMBean() != null) {
+ e.getMetricsMBean().switchOff();
+ }
}
} else {
if (endpoint.getContext() != null) {
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/FailoverEndpoint.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/FailoverEndpoint.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/FailoverEndpoint.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/FailoverEndpoint.java Fri Nov 14 02:55:34 2008
@@ -53,12 +53,18 @@
isARetry = true;
}
+ if (getChildren().isEmpty()) {
+ informFailure(synCtx, SynapseConstants.ENDPOINT_FO_NONE_READY,
+ "FailoverLoadbalance endpoint : " + getName() + " - no child endpoints");
+ return;
+ }
+
if (currentEndpoint == null) {
currentEndpoint = getChildren().get(0);
}
if (currentEndpoint.readyToSend()) {
- if (isARetry) {
+ if (isARetry && metricsMBean != null) {
metricsMBean.reportSendingFault(SynapseConstants.ENDPOINT_FO_FAIL_OVER);
}
synCtx.pushFaultHandler(this);
@@ -70,7 +76,7 @@
if (endpoint.readyToSend()) {
foundEndpoint = true;
currentEndpoint = endpoint;
- if (isARetry) {
+ if (isARetry && metricsMBean != null) {
metricsMBean.reportSendingFault(SynapseConstants.ENDPOINT_FO_FAIL_OVER);
}
synCtx.pushFaultHandler(this);
@@ -80,16 +86,8 @@
}
if (!foundEndpoint) {
- // if this is not a retry
- if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null) {
- synCtx.setProperty(SynapseConstants.ERROR_CODE, SynapseConstants.ENDPOINT_FO_NONE_READY);
- synCtx.setProperty(SynapseConstants.ERROR_MESSAGE,
- "Failover endpoint : " + getName() + " - no ready child endpoints");
- synCtx.setProperty(SynapseConstants.ERROR_DETAIL,
- "Failover endpoint : " + getName() + " - no ready child endpoints");
- synCtx.setProperty(SynapseConstants.ERROR_EXCEPTION, null);
- }
- super.onFault(synCtx);
+ informFailure(synCtx, SynapseConstants.ENDPOINT_FO_NONE_READY, "Failover endpoint : " + getName()
+ + " - no ready child endpoints");
}
}
}
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/LoadbalanceEndpoint.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/LoadbalanceEndpoint.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/LoadbalanceEndpoint.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/LoadbalanceEndpoint.java Fri Nov 14 02:55:34 2008
@@ -70,23 +70,18 @@
synCtx.getEnvelope().build();
}
} else {
- // this is a retry, where we are now failing over to an active node
- metricsMBean.reportSendingFault(SynapseConstants.ENDPOINT_LB_FAIL_OVER);
+ if (metricsMBean != null) {
+ // this is a retry, where we are now failing over to an active node
+ metricsMBean.reportSendingFault(SynapseConstants.ENDPOINT_LB_FAIL_OVER);
+ }
}
synCtx.pushFaultHandler(this);
endpoint.send(synCtx);
} else {
// if this is not a retry
- if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null) {
- synCtx.setProperty(SynapseConstants.ERROR_CODE, SynapseConstants.ENDPOINT_LB_NONE_READY);
- synCtx.setProperty(SynapseConstants.ERROR_MESSAGE,
- "Loadbalance endpoint : " + getName() + " - no ready child endpoints");
- synCtx.setProperty(SynapseConstants.ERROR_DETAIL,
- "Loadbalance endpoint : " + getName() + " - no ready child endpoints");
- synCtx.setProperty(SynapseConstants.ERROR_EXCEPTION, null);
- }
- super.onFault(synCtx);
+ informFailure(synCtx, SynapseConstants.ENDPOINT_LB_NONE_READY, "Loadbalance endpoint : " +
+ getName() + " - no ready child endpoints");
}
}
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/SALoadbalanceEndpoint.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/SALoadbalanceEndpoint.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/SALoadbalanceEndpoint.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/endpoints/SALoadbalanceEndpoint.java Fri Nov 14 02:55:34 2008
@@ -277,17 +277,6 @@
}
}
- private void informFailure(MessageContext synCtx, int errorCode, String errorMsg) {
-
- if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null) {
- synCtx.setProperty(SynapseConstants.ERROR_CODE, errorCode);
- synCtx.setProperty(SynapseConstants.ERROR_MESSAGE, errorMsg);
- synCtx.setProperty(SynapseConstants.ERROR_DETAIL, errorMsg);
- synCtx.setProperty(SynapseConstants.ERROR_EXCEPTION, null);
- }
- super.onFault(synCtx);
- }
-
/*
* Preparing the endpoint sequence for a new session establishment request
*/
Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/util/datasource/DataSourceInformationRepositoryHelper.java
URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/util/datasource/DataSourceInformationRepositoryHelper.java?rev=23920&r1=23919&r2=23920&view=diff
==============================================================================
--- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/util/datasource/DataSourceInformationRepositoryHelper.java (original)
+++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/util/datasource/DataSourceInformationRepositoryHelper.java Fri Nov 14 02:55:34 2008
@@ -36,6 +36,7 @@
private static final Log log = LogFactory.getLog(DataSourceInformationRepositoryHelper.class);
public static void initializeDataSourceInformationRepository(AxisConfiguration axisConfiguration, Properties properties) {
+
initializeDataSourceInformationRepository(axisConfiguration, properties, DataSourceManager.getInstance());
}
@@ -43,7 +44,8 @@
DataSourceInformationRepository repository =
DataSourceInformationRepositoryFactory.createDataSourceInformationRepository(properties, listener);
- Parameter parameter = new Parameter(DataSourceConfigurationConstants.DATASOURCE_INFORMATION_REPOSITORY, repository);
+ Parameter parameter = new Parameter(
+ DataSourceConfigurationConstants.DATASOURCE_INFORMATION_REPOSITORY, repository);
try {
axisConfiguration.addParameter(parameter);
} catch (AxisFault axisFault) {
@@ -54,7 +56,8 @@
public static DataSourceInformationRepository getDataSourceInformationRepository(AxisConfiguration axisConfiguration) {
- Parameter parameter = axisConfiguration.getParameter(DataSourceConfigurationConstants.DATASOURCE_INFORMATION_REPOSITORY);
+ Parameter parameter = axisConfiguration.getParameter(
+ DataSourceConfigurationConstants.DATASOURCE_INFORMATION_REPOSITORY);
if (parameter != null) {
Object result = parameter.getValue();
if (!(result instanceof DataSourceInformationRepository)) {
More information about the Esb-java-dev
mailing list