Dont use JBI is the short answer. Its a dead spec.
Fuse ESB 3.x is based on JBI.
Fuse ESB 4.0 is re-architected based on OSGi. There is although support for JBI but it's an optional module.
You can read some thoughts from the lead-architect on Fuse ESB / ServiceMix here:
Thanks for the great answer. What about NMR with non-JBI usage ? What are the benefits of using NMR ? Why should I use it instead of directly send payload from one endpoint to another ?
The NMR offers you you the same benefits as the JBI NMR does.
The NMR in Fuse ESB 4.x onwards can exchange any kind of message payload.
Where as JBI its confined to be XML messages only.
There is some info here
And you can easily leverage the NMR between Camel applications
Some users dont use the NMR but exchange data using JMS messages instead. That's also a viable solution.
Thanks for the helpful answer.
I agree . very usefull topic