Spring Integration Reference Manual

Mark Fisher

Marius Bogoevici

Iwein Fuld

Jonas Partner

Spring Integration

1.0.2

© SpringSource Inc., 2008


Table of Contents

1. Spring Integration Overview
1.1. Background
1.2. Goals and Principles
1.3. Main Components
1.3.1. Message
1.3.2. Message Channel
1.3.3. Message Endpoint
1.4. Message Endpoints
1.4.1. Transformer
1.4.2. Filter
1.4.3. Router
1.4.4. Splitter
1.4.5. Aggregator
1.4.6. Service Activator
1.4.7. Channel Adapter
2. Message Construction
2.1. The Message Interface
2.2. Message Headers
2.3. Message Implementations
2.4. The MessageBuilder Helper Class
3. Message Channels
3.1. The MessageChannel Interface
3.1.1. PollableChannel
3.1.2. SubscribableChannel
3.2. Message Channel Implementations
3.2.1. PublishSubscribeChannel
3.2.2. QueueChannel
3.2.3. PriorityChannel
3.2.4. RendezvousChannel
3.2.5. DirectChannel
3.2.6. ThreadLocalChannel
3.3. Channel Interceptors
3.4. MessageChannelTemplate
3.5. Configuring Message Channels
3.5.1. DirectChannel Configuration
3.5.2. QueueChannel Configuration
3.5.3. PublishSubscribeChannel Configuration
3.5.4. PriorityChannel Configuration
3.5.5. RendezvousChannel Configuration
3.5.6. ThreadLocalChannel Configuration
4. Message Endpoints
4.1. Message Handler
4.2. Event-Driven Consumer
4.3. Polling Consumer
4.4. Namespace Support
5. Service Activator
5.1. Introduction
5.2. The <service-activator/> Element
6. Channel Adapter
6.1. The <inbound-channel-adapter> element
6.2. The <outbound-channel-adapter/> element
7. Router
7.1. Router Implementations
7.1.1. PayloadTypeRouter
7.1.2. RecipientListRouter
7.2. The <router> element
7.3. The @Router Annotation
8. Message Filter
8.1. Introduction
8.2. The <filter> Element
9. Transformer
9.1. Introduction
9.2. The <transformer> Element
9.3. The @Transformer Annotation
10. Splitter
10.1. Introduction
10.2. Functionality
10.3. Programming model
10.4. Configuring a Splitter using XML
10.5. Configuring a Splitter with Annotations
11. Aggregator
11.1. Introduction
11.2. Functionality
11.3. Programming model
11.3.1. AbstractMessageAggregator
11.3.2. CompletionStrategy
11.3.3. CorrelationStrategy
11.4. Configuring an Aggregator with XML
11.5. Configuring an Aggregator with Annotations
12. Resequencer
12.1. Introduction
12.2. Functionality
12.3. Configuring a Resequencer with XML
13. Message Handler Chain
13.1. Introduction
13.2. The <chain> Element
14. Inbound Messaging Gateways
14.1. SimpleMessagingGateway
14.2. GatewayProxyFactoryBean
15. Messaging Bridge
15.1. Introduction
15.2. The <bridge> Element
16. File Support
16.1. Introduction
16.2. Reading Files
16.3. Writing files
16.4. File Transformers
17. JMS Support
17.1. Inbound Channel Adapter
17.2. Message-Driven Channel Adapter
17.3. Outbound Channel Adapter
17.4. Inbound Gateway
17.5. Outbound Gateway
17.6. JMS Samples
18. Web Services Support
18.1. Outbound Web Service Gateways
18.2. Inbound Web Service Gateways
18.3. Web Service Namespace Support
19. RMI Support
19.1. Introduction
19.2. Outbound RMI
19.3. Inbound RMI
19.4. RMI namespace support
20. HttpInvoker Support
20.1. Introduction
20.2. HttpInvoker Inbound Gateway
20.3. HttpInvoker Outbound Gateway
20.4. HttpInvoker Namespace Support
21. HTTP Support
21.1. Introduction
21.2. Http Inbound Gateway
21.3. Http Outbound Gateway
21.4. Http Namespace Support
22. Mail Support
22.1. Mail-Sending Channel Adapter
22.2. Mail-Receiving Channel Adapter
22.3. Mail Namespace Support
23. Stream Support
23.1. Introduction
23.2. Reading from streams
23.3. Writing to streams
23.4. Stream namespace support
24. Spring ApplicationEvent Support
25. Dealing with XML Payloads
25.1. Introduction
25.2. Transforming xml payloads
25.3. Namespace support for xml transformers
25.4. Splitting xml messages
25.5. Routing xml messages using XPath
25.6. Selecting xml messages using XPath
25.7. XPath components namespace support
26. Security in Spring Integration
26.1. Introduction
26.2. Securing channels
A. Spring Integration Samples
A.1. The Cafe Sample
A.2. The xml messaging sample
B. Configuration
B.1. Introduction
B.2. Namespace Support
B.3. Configuring the Task Scheduler
B.4. Error Handling
B.5. Annotation Support
C. Additional Resources
C.1. Spring Integration Home