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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]