With more and more data to send, enterprise integration applications can become less and less usable if code and architecture don't evolve. Beside these two key elements to improve growing system performances, Spring Integration provides another one, called messages splitting and aggregation.
Beside static-looking XML configuration, Spring Integration provides some dynamic mechanisms. One of them is routing which allows one message to be received by dynamically resolved message channel.
In one from first articles about Spring Integration we discovered the idea of conversion service. However, it's not only one element which can change message from one format to another one. The second element is message transformer, in integration world known also as message translator.
New concept described in this article will be chaining. Exactly as in another domain of life, chaining in Spring Integration allows to group together a set of elements. At this occasion we'll also discover some of elements which can be defined inside chains: filters and header enrichers.
This time we'll cover more core concepts of Spring Integration: messages and another concept with 'message' in the name, message handlers..
Previously we sent Spring Integration messages through message channels called input channels. However, it's not the single solution for it.
From previous articles we could deduce that Spring Integration was a pretty basic enterprise integration framework. However, in this article we'll discover some of its features proving that it hides a lot of advanced features: messages prioritization and messages persistence.
In previous articles we discovered some alternative ways to send messages. Another alternative feature to do that are channel adapters, covered here.
Until now we're working with non-blocking message channels. However, Spring Integration provides an implementation for blocking message channels too. In additionally, it defines also the hooks for message handling.
Until now we're working with channels able only to send the messages. This time we'll discover message channel which can both send and receive messages.
We already know a little bit about message handlers and message channels. This time we'll discover specific message channel, called publish subscribe channel.
As announced in the introduction to Spring Integration, we'll write a series of articles about features of this project. We'll begin here by explaining the ideas of direct channel and service activator.
Spring integration is a Spring-family project illustrating well the idea of enterprise integration patterns. To understand better this Spring project, we'll write some test cases to show how they work. This article will introduce the basic concepts of Spring Integration.