The New Spring Integration 2.2 in Comparison to Apache Camel
Join the DZone community and get the full member experience.
Join For Free
A year after v2.1 had been released, Spring Integration v2.2 is out with 3 new components
MongoDB, Redis and JPA (even though the first 2 were listed also in
v2.1 as message store, now they are available as Inbound and Outbound
Channel Adapters), retry and other new features.
As a comparison Apache Camel has also released v2.10 during the same period with around 18 new components.
JPA support in Camel is available from long time, MongoDB since v2.10
and Redis since my commit couple of days ago. But of course the number
of connectors (more than 130 for Camel) is not the most important
characteristic for an integration framework (some might argue that).
There are many other factors which matter when choosing an open source
project for your needs. A quick search on the internet will show you
which are the main questions you should ask before deciding which open
source project to use for your enterprise. Here are only couple of them
and my biased answers:
1. What is the license? - Apache Camel (like all Apache projects)
and Spring Integration both are using Apache License version 2.0 which
is one of the most permissive licences. It basically says do whatever
you want with the software.
2. Is the project actively developed? - According to ohloh.net
for the last 12 months Apache Camel has 2415 commits from 24 committers
whereas Spring Integration has 949 commits from 17 committers.
3. How mature is the project? - Both projects have started in
2007 and currently Spring Integration has 234K lines of code and is
estimated to 60 years of effort, whereas Apache Camel has 800K lines of
code and estimated to 220 years of effort.
4. How big and responsive is the community? - If you are creating
a project different than "Hello World", no matter how many books and
tutorials there are, sooner or later you will have questions. And this
is another area where Camel shines. According to Apache stats,
Camel users and developers lists have around 700 subscribers combined
who send 45 messages per day in total on average. If you ask a question,
the chances are, you will get a response in a matter of minutes. On
Spring Integration forums there are 24,355 messages since the start of
the project, which on average means 13 messages a day.
![]() |
Jira stats for last 30 days |
6. How good is the documentation? - Both projects have quite extensive documentation, tutorials and plenty of blog posts. There are 3 books published covering Spring Integration - having read all of them, I can say more or less they talk about EIPs and repeat Spring Integration documentation but with better graphics. Camel for now has only one book published - Camel in Action by Claus Ibsen and Jonathan Anstey. There are aslo plenty of blog posts, tutorials and webinars for both projects out there. There is one thing that Spring Integration is missing though - CamelOne conference ;)
7. Is there good tool support? - SpringSource develops Eclipse based Spring Tool Suite(STS) which has visual development tools for SI. IntelliJ IDEA also has SI support, but that is limitted to autocompliting varios endpoint options.
![]() |
Spring Tool Suite |
![]() |
Fuse IDE |
These are only some of the questions you should ask yourself before adding one or the other dependency to your product. The more specific questions you should ask depends on your product portfolio, project stack, team abilities and motivation to learn new technologies.
Disclaimer: I'm Apache Camel committer and I absolutely adore Camel. I've also worked on projects where we chose Spring Integration over Apache Camel.
Published at DZone with permission of Bilgin Ibryam, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
Decoding eBPF Observability: How eBPF Transforms Observability as We Know It
-
What to Pay Attention to as Automation Upends the Developer Experience
-
From CPU to Memory: Techniques for Tracking Resource Consumption Over Time
-
Personalized Code Searches Using OpenGrok
Comments