Camel is one of the best lightweight integration frameworks fo Java. It requires some time to learn how to develop routes, handle errors and so on, but with some experience you can write almost any integration pattern in just few lines of code. Other disadvantages include: some api breaking changes between versions and lack of persistence layer in few pattern implementations. You can use Camel in any Java app server, but SMX4 seems to be most integrated. Generally - great framework!