You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2011/02/02 13:19:23 UTC
svn commit: r1066443 - in
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse:
config/xml/endpoints/EndpointFactory.java
config/xml/endpoints/EndpointSerializer.java
endpoints/AbstractEndpoint.java endpoints/Endpoint.java
Author: supun
Date: Wed Feb 2 12:19:22 2011
New Revision: 1066443
URL: http://svn.apache.org/viewvc?rev=1066443&view=rev
Log:
changing the endpoints to have a sequence as a fault handler
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java?rev=1066443&r1=1066442&r2=1066443&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java Wed Feb 2 12:19:22 2011
@@ -60,7 +60,7 @@ public abstract class EndpointFactory im
private static final String ENDPOINT_NAME_PREFIX = "endpoint_";
- public static final QName ON_FAULT_Q = new QName(XMLConfigConstants.NULL_NAMESPACE, "onFault");
+ public static final QName ON_FAULT_Q = new QName(XMLConfigConstants.NULL_NAMESPACE, "onError");
private static final QName DESCRIPTION_Q
= new QName(SynapseConstants.SYNAPSE_NAMESPACE, "description");
@@ -138,7 +138,7 @@ public abstract class EndpointFactory im
OMAttribute onFaultAtt = epConfig.getAttribute(ON_FAULT_Q);
if (onFaultAtt != null) {
- ep.setOnFaultMessageStore(onFaultAtt.getAttributeValue());
+ ep.setErrorHandler(onFaultAtt.getAttributeValue());
}
return ep;
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointSerializer.java?rev=1066443&r1=1066442&r2=1066443&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointSerializer.java Wed Feb 2 12:19:22 2011
@@ -344,7 +344,7 @@ public abstract class EndpointSerializer
}
//serialize the message stores
- String messageStore = endpoint.getOnFaultMessageStore();
+ String messageStore = endpoint.getErrorHandler();
if (messageStore != null) {
element.addAttribute(EndpointFactory.ON_FAULT_Q.getLocalPart(),
messageStore, null);
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java?rev=1066443&r1=1066442&r2=1066443&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java Wed Feb 2 12:19:22 2011
@@ -27,6 +27,7 @@ import org.apache.axis2.util.JavaUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.*;
+import org.apache.synapse.mediators.MediatorFaultHandler;
import org.apache.synapse.message.store.StorableMessage;
import org.apache.synapse.mediators.MediatorProperty;
import org.apache.synapse.aspects.ComponentType;
@@ -84,7 +85,7 @@ public abstract class AbstractEndpoint e
protected boolean anonymous = false;
/** The Message store name associated with the endpoint*/
- protected String onFaultMessageStore = null;
+ protected String errorHandler = null;
protected AbstractEndpoint() {
log = LogFactory.getLog(this.getClass());
@@ -236,10 +237,20 @@ public abstract class AbstractEndpoint e
}
}
- if (onFaultMessageStore != null &&
- synCtx.getConfiguration().getMessageStore(onFaultMessageStore) != null) {
- //building the SOAP XML
- synCtx.getEnvelope().build();
+ // push the errorHandler sequence into the current message as the fault handler
+ if (errorHandler != null) {
+ Mediator errorHandlerMediator = synCtx.getSequence(errorHandler);
+ if (errorHandlerMediator != null) {
+ if (traceOrDebugOn) {
+ traceOrDebug(traceOn, "Setting the onError handler : " +
+ errorHandler + " for the endpoint : " + endpointName);
+ }
+ synCtx.pushFaultHandler(
+ new MediatorFaultHandler(errorHandlerMediator));
+ } else {
+ log.warn("onError handler : " + errorHandler + " for sequence : " +
+ endpointName + " cannot be found");
+ }
}
// register this as the immediate fault handler for this message.
@@ -397,17 +408,7 @@ public abstract class AbstractEndpoint e
* @param synCtx the message at hand
*/
public void onFault(MessageContext synCtx) {
- if (onFaultMessageStore != null &&
- synCtx.getConfiguration().getMessageStore(onFaultMessageStore) != null) {
- StorableMessage storableMessage = new StorableMessage(this, synCtx);
- synCtx.getConfiguration().getMessageStore(onFaultMessageStore).schedule(storableMessage);
- if (log.isDebugEnabled()) {
- log.debug("Message with ID: " + synCtx.getMessageID() + " directed to the " +
- "message store" );
- }
- } else {
- invokeNextFaultHandler(synCtx);
- }
+ invokeNextFaultHandler(synCtx);
}
/**
@@ -620,12 +621,12 @@ public abstract class AbstractEndpoint e
}
}
- public String getOnFaultMessageStore() {
- return onFaultMessageStore;
+ public String getErrorHandler() {
+ return errorHandler;
}
- public void setOnFaultMessageStore(String onFaultMessageStore) {
- this.onFaultMessageStore = onFaultMessageStore;
+ public void setErrorHandler(String errorHandler) {
+ this.errorHandler = errorHandler;
}
/**
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java?rev=1066443&r1=1066442&r2=1066443&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java Wed Feb 2 12:19:22 2011
@@ -116,12 +116,12 @@ public interface Endpoint extends Manage
* Get the MessageStore name associated with the Endpoint
* @return String message store name
*/
- public String getOnFaultMessageStore();
+ public String getErrorHandler();
/**
* Set the Message Store name associated with the Endpoint
* @param onFaultMessageStore, name of the message store
*/
- public void setOnFaultMessageStore(String onFaultMessageStore);
+ public void setErrorHandler(String onFaultMessageStore);
}