EIP using Camel
Rating: 8 out of 10
April 03, 2017
Vetted Review
Verified User

3 years of experience
We use it as the processing backbone/Enterprise Integration Pattern (EIP) framework for several products that we develop. It is used to provide components for message ingest, orchestration and export. By orchestration, I mean the determination and execution of the path of any single message through the application. It also is our primary error handling mechanism as it provides out-of-the-box error retry, waiting and exponential backoff.
- The Java DSP is one of the primary reasons we chose Camel over Spring Integration's XML-based route definitions. It provides compile-time checking of syntax with auto-complete in an IDE (Eclipse, etc).
- The component documentation on the website is phenomenal.
- Error handling mechanisms are robust and easy to use and set up. Default settings are great and intuitive.
- The ability to define distinct contexts within the same application and define context-wide, context-specific error handling is great as well.
Cons
- I find the "seda" endpoint to be less obvious that it is doing multi-threading than Spring Integration's executor mechanism.
- Integration with Spring Beans is pretty good, but I believe SI's is a bit better (for obvious reasons, both being Spring products).
- SI's use support is probably a bit better/faster and I believe the user base is larger so that there are most questions/answers for SI on StackOverflow