title: When to use Spring Integration vs. Camel?
body: <p>As a seasoned Spring user I was assuming that Spring Integration would make the most sense in a recent project requiring some (JMS) messaging capabilities (<a href="https://stackoverflow.com/questions/3012802/how-to-leverage-spring-integration-in-a-real-world-jms-distributed-architecture">more details</a>). After some days working with Spring Integration it still feels like a lot of configuration overhead given the amount of channels you have to configure to bring some request-response (listening on different JMS queues) communications in place. </p>
  
  <p>Therefore I was looking for some background information how Camel is different from Spring Integration, but it seems like information out there are pretty spare, I found:</p>
  
  <ul>
  <li><a href="http://java.dzone.com/articles/spring-integration-and-apache" rel="noreferrer">http://java.dzone.com/articles/spring-integration-and-apache</a> (Very neutral comparison between implementing a real-world integration scenario in Spring Integration vs. Camel, from December 2009)</li>
  <li><a href="http://hillert.blogspot.com/2009/10/apache-camel-alternatives.html" rel="noreferrer">http://hillert.blogspot.com/2009/10/apache-camel-alternatives.html</a> (Comparing Camel with other solutions, October 2009)</li>
  <li><a href="http://raibledesigns.com/rd/entry/taking_apache_camel_for_a" rel="noreferrer">http://raibledesigns.com/rd/entry/taking_apache_camel_for_a</a> (Matt Raible, October 2008)</li>
  </ul>
  
  <p>Question is: what experiences did you make on using the one stack over the other? In which scenarios would you recommend Camel were Spring Integration lacks support? Where do you see pros and cons of each? Any advise from real-world projects are highly appreciated.</p>