The Camel documentation has always been limited in that it reads much like a dictionary or a reference manual, each component or data format, for example, explained in its own page but with little narrative flow showing how the parts all form together. Thankfully, that problem has now been fixed by Camel Team members Claus Ibsen and Jonathan Anstey in their new Camel In Action book published by Manning. Note I reviewed only the late-stage MEAP edition; some further changes may occur to the book when its final version is released later this year.
While each chapter emphasizes a distinct topic--from routing to datatype transformations to beans to error handling to JUnit testing to Components onwards--when read sequentially they provide the necessary flow for a Camel newbie to see the whole picture of a Camel-based system. The authors are quite diligent in providing both Java DSL and Spring DSL configuration alternatives for nearly everything they teach, and refer often to the excellent Mavenized downloadable source code by listing simple "mvn test -Dtest=xxxx" commands that can be run to quickly show a concept in use. Later chapters cover Camel development using Maven and Eclipse and the various ways to deploy and run Camel-based projects. |
![]() |
While not an introductory-level book, a beginner will nonetheless gain the most from this book, as nearly every page will offer something he didn't already know. However, intermediate developers will also have much to gain by learning additional ways of working with Camel, as the authors are pretty comprehensive in exploring the various alternative methods of routing, data transformations, transaction management, and the like. Advanced users may benefit most from specific chapters within the book--transactions, concurrency, and monitoring and management, for example. The Components chapter is fairly limited in what they can explain (and the authors admit as much), with 75+ Camel Components available the authors can cover only some of the most important. And I personally would have liked more meat in the CXF Component section, particularly with processing SOAP client calls. But I guess that's what tutorial blog entries, from me and others, are for.