Well, if you want a JBI compliant container, then Mule is not the choice (even though it provides interoperability with JBI containers). If you want something simple, lightweight and easy to use, then go for Mule.
Nice question! There is always stuff for debate, Ross Mason (Mule founder and project lead) posted an article about his view on JBI on theserverside. My personal view is that ServiceMix and JBI in general would be a good choice in environments where XML is the predominant message format and you want to go for an open standard based ESB. Having this said, ServiceMix 4 is OSGI based where JBI compliancy is not mandated. Mule would be my choice in environments where Java is the predominant technology, so you can use POJO messages, and where open standards are much less of an issue.
Author of Activiti in Action and Open Source ESBs in Action
Another issue which might influence your choice is the deployment model. When using ServiceMix you have hot-deploy for your services, components and flows. You get the 'overhead' and complexity of JBI but you've got a very mature, standarized deployment model.
Mule is a more lightweight ESB, but doesn't support hot deploy (yet).
As Tijs already mentioned the new version of ServiceMix will be OSGi based which should make deployment even easier. That said Mule also has plans to change it's deployment model to OSGi...
I think this esb is much more efficient than those two mentioned because of the following two reasons:
1. It is based on the apache synapse ESB which is very fast and lightweight 2. It has a really user friendly admin UI which allows users to configure the ESB without facing the hassle of configuring xml files manually.
if who i am is what i have, and what i have is lost, then who am i?<br /> <br />SCJP 5.0<br />SCWCD 1.4<br />SCBCD preparing