|
19 | 19 |
|
20 | 20 | import org.apache.commons.logging.Log; |
21 | 21 | import org.apache.commons.logging.LogFactory; |
| 22 | +import org.apache.synapse.commons.util.MiscellaneousUtil; |
| 23 | +import org.apache.synapse.core.SynapseEnvironment; |
| 24 | +import org.apache.synapse.message.processor.MessageProcessor; |
22 | 25 | import org.quartz.CronScheduleBuilder; |
23 | 26 | import org.quartz.Job; |
24 | 27 | import org.quartz.JobBuilder; |
|
37 | 40 | import org.quartz.TriggerListener; |
38 | 41 | import org.quartz.impl.matchers.GroupMatcher; |
39 | 42 | import org.quartz.spi.OperableTrigger; |
| 43 | +import org.wso2.micro.integrator.core.util.MicroIntegratorBaseUtils; |
40 | 44 | import org.wso2.micro.integrator.ntask.common.TaskConstants; |
41 | 45 | import org.wso2.micro.integrator.ntask.common.TaskException; |
42 | 46 | import org.wso2.micro.integrator.ntask.coordination.TaskCoordinationException; |
@@ -179,6 +183,15 @@ protected synchronized void pauseLocalTaskTemporarily(String taskName) throws Ta |
179 | 183 | if (null != listener) { |
180 | 184 | listener.notifyLocalTaskPause(taskName); |
181 | 185 | } |
| 186 | + if (MiscellaneousUtil.isTaskOfMessageProcessor(taskName)) { |
| 187 | + SynapseEnvironment synapseEnvironment = MicroIntegratorBaseUtils.getSynapseEnvironment(); |
| 188 | + String messageProcessorName = MiscellaneousUtil.getMessageProcessorName(taskName); |
| 189 | + MessageProcessor messageProcessor = synapseEnvironment.getSynapseConfiguration() |
| 190 | + .getMessageProcessors().get(messageProcessorName); |
| 191 | + if (messageProcessor != null) { |
| 192 | + messageProcessor.pauseMessageProcessorTemporarily(); |
| 193 | + } |
| 194 | + } |
182 | 195 | log.info("Task temporarily paused: [" + this.getTaskType() + "][" + taskName + "]"); |
183 | 196 | } catch (SchedulerException e) { |
184 | 197 | throw new TaskException("Error in temporarily pausing task with name: " + taskName, |
|
0 commit comments