Hi Gary,
I think you could deploy Camel routes and other feaures directly into
Karaf; however, I view Karaf as being a more 'general' container for
OSGi bundles. ServiceMix, on the other hand, is a distribution of Karaf
with additional components that make it a container suited for
enterprise integration. All the features files for deploying Camel are
already configured, all of the ServiceMix JBI stuff is there (if you
need it!), and, the JBI-free NMR, is also already there for you to use
as an asynchronous inter-bundle communication mechanism. The ServiceMix
container is also primed for using with ActiveMQ, and for deploying Web-
or REST-services. So I think that adopting ServiceMix as your container
gives you a 'leg-up' in terms of having everything ready to go.
Keep in mind though, that thanks to the modular design enabled by OSGi
and leveraged by Karaf, you can very easily plug out the components you
don't want, always comfortable in the knowledge that adding them in
later is going to be easy. For example, one of the first things I do
with ServiceMix is modify the featuresBoot parameter to kick off just
ActiveMQ and Camel, and -not- install all the JBI stuff I don't want to
use.
In terms of 'separating the use of NMR from JBI', it's easy. Just
install the NMR feature in SMX. It registers the NMR as an OSGi service,
which you can then use explicitly. Or, you can use the NMR from your
Camel routes using the camel-nmr component.
It's all good!
Best,
Ade.
On 16/09/2010 06:12, gmui wrote:
Hi Adrian,
Thanks for pointing me to your blog. I just read your "Camel vs. JBI"
article and am glad that you had the same ideas. I'm surprised there isn't
more about this strategy out there in the blogosphere. Given the
availability of Karaf, would you suggest deploying Camel routes and endpoint
implementations as features right into the OSGi container (Karaf) or still
using Fuse ESB? Is Fuse ESB / ServiceMix when not using the NMR basically
just camel on Karaf? And how would you separate the use of the NMR in
ServiceMix?
Thanks,
Gary