1
2
3
4
5
6
7
8
9
10
11 package org.mule.config.spring.factories;
12
13 import org.mule.api.processor.MessageProcessor;
14 import org.mule.api.source.CompositeMessageSource;
15 import org.mule.api.source.MessageSource;
16 import org.mule.source.StartableCompositeMessageSource;
17
18 import java.util.Collections;
19 import java.util.List;
20
21 import org.springframework.beans.factory.FactoryBean;
22
23 public class CompositeMessageSourceFactoryBean implements FactoryBean
24 {
25
26 protected List<MessageSource> sources = Collections.<MessageSource> emptyList();
27
28 public Class getObjectType()
29 {
30 return MessageProcessor.class;
31 }
32
33 public void setMessageSources(List<MessageSource> sources)
34 {
35 this.sources = sources;
36 }
37
38 public Object getObject() throws Exception
39 {
40 CompositeMessageSource composite = new StartableCompositeMessageSource();
41 for (MessageSource source : sources)
42 {
43 composite.addSource(source);
44 }
45 return composite;
46 }
47
48 public boolean isSingleton()
49 {
50 return false;
51 }
52
53 }