Author: hiranya
Date: Tue May 31 02:04:27 2016
New Revision: 1746209
URL: http://svn.apache.org/viewvc?rev=1746209&view=rev
Log:
Implementing deactivate sequence for forwarding jobs; Applied patch from
SYNAPSE-1020
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingProcessorConstants.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java?rev=1746209&r1=1746208&r2=1746209&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingJob.java
Tue May 31 02:04:27 2016
@@ -158,7 +158,7 @@ public class ForwardingJob implements St
if (maxDeliverAttempts > 0) {
if(processor.getSendAttemptCount() >=
maxDeliverAttempts) {
- processor.deactivate();
+ deactivate(processor, messageContext,
parameters);
}
}
errorStop = true;
@@ -199,7 +199,7 @@ public class ForwardingJob implements St
if (maxDeliverAttempts > 0) {
processor.incrementSendAttemptCount();
if (processor.getSendAttemptCount() >=
maxDeliverAttempts) {
- processor.deactivate();
+ deactivate(processor, messageContext,
parameters);
}
}
errorStop = true;
@@ -260,4 +260,19 @@ public class ForwardingJob implements St
}
}
+ private void deactivate(ScheduledMessageForwardingProcessor processor,
+ MessageContext msgContext, Map<String, Object>
parameters) {
+ processor.deactivate();
+ if (parameters != null &&
parameters.get(ForwardingProcessorConstants.DEACTIVATE_SEQUENCE) != null) {
+ if (msgContext != null) {
+ String seq = (String)
parameters.get(ForwardingProcessorConstants.DEACTIVATE_SEQUENCE);
+ Mediator mediator = msgContext.getSequence(seq);
+ if (mediator != null) {
+ mediator.mediate(msgContext);
+ } else {
+ log.warn("Deactivate sequence: " + seq + " does not
exist");
+ }
+ }
+ }
+ }
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingProcessorConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingProcessorConstants.java?rev=1746209&r1=1746208&r2=1746209&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingProcessorConstants.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/message/processors/forward/ForwardingProcessorConstants.java
Tue May 31 02:04:27 2016
@@ -55,5 +55,9 @@ public final class ForwardingProcessorCo
*/
public static final String FAULT_SEQUENCE =
"message.processor.fault.sequence";
+ /**
+ * used for forward in case of scheduled message processor deactivation
+ */
+ public static final String DEACTIVATE_SEQUENCE =
"message.processor.deactivate.sequence";
}