1
2
3
4
5
6
7
8
9
10
11 package org.mule.processor.strategy;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.processor.MessageProcessor;
15 import org.mule.api.processor.MessageProcessorBuilder;
16 import org.mule.api.processor.MessageProcessorChainBuilder;
17 import org.mule.api.processor.ProcessingStrategy;
18
19 import java.util.List;
20
21
22
23
24 public class SynchronousProcessingStrategy implements ProcessingStrategy
25 {
26 @Override
27 public void configureProcessors(List<MessageProcessor> processors,
28 StageNameSource nameSource,
29 MessageProcessorChainBuilder chainBuilder,
30 MuleContext muleContext)
31 {
32 for (Object processor : processors)
33 {
34 if (processor instanceof MessageProcessor)
35 {
36 chainBuilder.chain((MessageProcessor) processor);
37 }
38 else if (processor instanceof MessageProcessorBuilder)
39 {
40 chainBuilder.chain((MessageProcessorBuilder) processor);
41 }
42 else
43 {
44 throw new IllegalArgumentException(
45 "MessageProcessorBuilder should only have MessageProcessor's or MessageProcessorBuilder's configured");
46 }
47 }
48 }
49
50 }