Apache Camel is a POJO based routing engine which is small, has minimal dependencies and can be easily embedded in an ESB like ServiceMix, a Message Broker like ActiveMQ or a smart JAX-WS client like CXF.
Apache Camel uses Java 5, generics and annotations so that it can easily work with any kind of transport or messaging model such as HTTP, JMS, JBI or CXF Bus API without mandating a generic normalized message API.