You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ch...@apache.org on 2007/03/07 14:29:04 UTC
svn commit: r515559 - in
/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse:
./ config/xml/endpoints/ core/axis2/ mediators/builtin/send/endpoints/
Author: chathura_ce
Date: Wed Mar 7 05:29:01 2007
New Revision: 515559
URL: http://svn.apache.org/viewvc?view=rev&rev=515559
Log:
Fixed some issues in the failover endpoints.
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/send/endpoints/AddressEndpoint.java
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java?view=diff&rev=515559&r1=515558&r2=515559
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java Wed Mar 7 05:29:01 2007
@@ -29,9 +29,9 @@
public void handleFault(MessageContext synCtx) {
try {
- handleFault(synCtx);
+ onFault(synCtx);
} catch (SynapseException syne) {
- ((FaultHandler)synCtx.getFaultStack().pop()).onFault(synCtx);
+ ((FaultHandler)synCtx.getFaultStack().pop()).handleFault(synCtx);
}
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java?view=diff&rev=515559&r1=515558&r2=515559
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java Wed Mar 7 05:29:01 2007
@@ -59,7 +59,7 @@
}
// set endpoints
- ArrayList endpoints = getEndpoints(failoverElement);
+ ArrayList endpoints = getEndpoints(failoverElement, failoverEndpoint);
failoverEndpoint.setEndpoints(endpoints);
return failoverEndpoint;
@@ -77,7 +77,7 @@
return null;
}
- private ArrayList getEndpoints(OMElement failoverElement) {
+ private ArrayList getEndpoints(OMElement failoverElement, Endpoint parent) {
ArrayList endpoints = new ArrayList();
Iterator iter = failoverElement.getChildrenWithName
@@ -88,6 +88,7 @@
EndpointFactory epFac = EndpointAbstractFactory.getEndpointFactroy(endptElem);
Endpoint endpoint = epFac.createEndpoint(endptElem, true);
+ endpoint.setParentEndpoint(parent);
endpoints.add(endpoint);
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java?view=diff&rev=515559&r1=515558&r2=515559
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java Wed Mar 7 05:29:01 2007
@@ -69,7 +69,7 @@
}
// set endpoints
- ArrayList endpoints = getEndpoints(loadbalanceElement);
+ ArrayList endpoints = getEndpoints(loadbalanceElement, loadbalanceEndpoint);
loadbalanceEndpoint.setEndpoints(endpoints);
// set load balance algorithm
@@ -120,7 +120,7 @@
return null;
}
- private ArrayList getEndpoints(OMElement loadbalanceElement) {
+ private ArrayList getEndpoints(OMElement loadbalanceElement, Endpoint parent) {
ArrayList endpoints = new ArrayList();
Iterator iter = loadbalanceElement.getChildrenWithName
@@ -131,6 +131,7 @@
EndpointFactory epFac = EndpointAbstractFactory.getEndpointFactroy(endptElem);
Endpoint endpoint = epFac.createEndpoint(endptElem, true);
+ endpoint.setParentEndpoint(parent);
endpoints.add(endpoint);
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?view=diff&rev=515559&r1=515558&r2=515559
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Wed Mar 7 05:29:01 2007
@@ -26,6 +26,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Constants;
+import org.apache.synapse.FaultHandler;
import java.util.Map;
import java.util.HashMap;
@@ -77,10 +78,9 @@
private void handleMessage(MessageContext response,
org.apache.synapse.MessageContext synapseOutMsgCtx) {
- if (response.getEnvelope().getBody().hasFault()) {
- // synapseOutMsgCtx.getFaultStack().pop(); and handle the
- // response.getEnvelope().getBody().getFault().getException()
- // TODO chathura
+ if (response.getEnvelope().getBody().hasFault()) {
+ Object o = synapseOutMsgCtx.getFaultStack().pop();
+ ((FaultHandler) o).handleFault(synapseOutMsgCtx);
} else {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/send/endpoints/AddressEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/send/endpoints/AddressEndpoint.java?view=diff&rev=515559&r1=515558&r2=515559
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/send/endpoints/AddressEndpoint.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/send/endpoints/AddressEndpoint.java Wed Mar 7 05:29:01 2007
@@ -65,7 +65,7 @@
public void setActive(boolean active) {
this.active = active;
- }
+ }
public void send(MessageContext synCtx) {
@@ -97,7 +97,7 @@
EndPointStatisticsStack endPointStatisticsStack = new EndPointStatisticsStack();
boolean isFault =synCtx.getEnvelope().getBody().hasFault();
endPointStatisticsStack.put(endPointName, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable,isFault);
- synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK, endPointStatisticsStack);
+ synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK, endPointStatisticsStack);
}
synCtx.setTo(new EndpointReference(eprAddress));
@@ -135,7 +135,7 @@
if (endpoint.isAddressingOn()) {
synCtx.setProperty(Constants.OUTFLOW_ADDRESSING_ON, Boolean.TRUE);
}
-
+
synCtx.pushFault(this);
synCtx.getEnvironment().send(endpoint, synCtx);
}
@@ -153,6 +153,11 @@
// perform retries here
// if this endpoint has actually failed, inform the parent.
- parentEndpoint.onChildEndpointFail(this, synCtx);
+ if (parentEndpoint != null) {
+ parentEndpoint.onChildEndpointFail(this, synCtx);
+ } else {
+ Object o = synCtx.getFaultStack().pop();
+ ((FaultHandler) o).handleFault(synCtx);
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org