Chapter 1. Introduction to Spring Integration
1.1. Spring Integration’s architecture
1.2. Spring Integration’s support for enterprise integration patterns
1.3. Enterprise integration patterns meet Inversion of Control
Chapter 2. Enterprise integration fundamentals
2.1. Loose coupling and event-driven architecture
2.1.1. Why should you care about loose coupling?
2.1.3. Loosening type-level coupling with dependency injection
2.2. Synchronous and asynchronous communication
2.3. Comparing enterprise integration styles
2.3.1. Integrating applications by transferring files
2.3.2. Interacting through a shared database
Chapter 3. Messages and channels
3.1. Introducing Spring Integration messages
3.2. Introducing Spring Integration channels
3.2.1. Using channels to move messages
3.2.2. I’ll let you know when I’ve got something!
3.2.3. Do you have any messages for me?
4.1. What can you expect of an endpoint?
4.2. Transaction boundaries around endpoints
4.2.1. Why sharing isn’t always a good thing
4.2.2. What are transactions, and can we get by without them?
Chapter 5. Getting down to business
5.1. Domain-driven transformation
5.1.1. Marshalling flight information
5.1.2. Using the simplest possible data representation
5.1.3. Wiring the components together
5.3. Message publishing interceptors
Chapter 6. Go beyond sequential processing: routing and filtering
6.1. Do you want to get this message?
6.2. Whose message is this, anyway?
Chapter 7. Splitting and aggregating messages
7.2. Splitting, aggregating, and resequencing
7.2.1. The art of dividing: the splitter
Chapter 8. Handling messages with XML payloads
8.1.1. Marshalling LegQuoteCommand into XML
8.1.2. Enriching the leg quote using XSLT
8.1.4. Splitting hotel, car rental, and flight quotes
Chapter 9. Spring Integration and the Java Message Service
9.1. The relationship between Spring Integration and JMS
9.1.1. Mapping between JMS and Spring Integration messages
9.1.2. Comparing JMS destinations and Spring Integration message channels
9.2. JMS support in the Spring Framework
9.3. Asynchronous JMS message reception with Spring
9.4. Sending JMS messages from a Spring Integration application
9.5. Receiving JMS messages in a Spring Integration application
9.7. Messaging between multiple Spring Integration runtimes
9.8. Managing transactions with JMS channel adapters and gateways
Chapter 10. Email-based integration
10.1.1. The outbound channel adapter
Chapter 11. Filesystem integration
11.1. Can you be friends with the filesystem?
11.3.1. A File in Java isn’t a file on your disk
11.4. Handling file-based messages
11.4.1. Transforming files into objects
11.4.2. Common scenarios when dealing with files
11.4.3. Configuring file transformers
11.4.4. Applying incoming changes to the collaborative editor
Chapter 12. Spring Integration and web services
12.1. XML web services with Spring WS
12.1.1. Exposing a Spring WS–based inbound gateway
12.2.1. Processing HTTP inbound requests
12.2.2. Inbound-only messages using inbound-channel-adapter
Chapter 13. Chatting and tweeting
13.2.1. Receiving messages from a Twitter search
13.2.2. OAuth configuration for the Twitter template
13.2.3. Receiving messages from your Twitter timeline
13.2.4. Sending messages to update your Twitter status
13.2.5. Receiving messages from Twitter retweets, replies, and mentions
Chapter 14. Monitoring and management
14.3. JMX support in Spring Integration
14.4.1. Spring’s support for management annotations
Chapter 15. Managing scheduling and concurrency
15.1. Controlling timed events
15.1.1. Pollers and their configuration
15.1.2. Controlling the polling frequency
15.1.3. Scheduling jobs at precise times
Chapter 16. Batch applications and enterprise integration
16.1.1. Online or batch, that’s the question
16.2. Introducing Spring Batch
16.3. Integrating Spring Batch and Spring Integration
16.3.1. Launching batch jobs through messages
Chapter 17. Scaling messaging applications with OSGi
17.2. Accessing the Service Registry through Gemini Blueprint
17.3. Messaging between bundles
17.3.1. Reasons to combine OSGi with messaging
17.3.2. Publish-subscribe messaging between bundles
17.3.3. Point-to-point messaging and sharing the load
17.3.4. Using gateways and service activators to avoid Spring Integration dependencies
18.1. Matching messages with the Spring Integration testing framework
18.2. Mocking services out of integration tests
18.3. Testing an asynchronous system
18.3.1. Can’t we wait for the message to come out the other end?
18.3.2. Avoiding the wicked ways of debugging
18.3.3. Injecting latches into endpoints
3.138.37.191