Question

What is a typical/preferable way to build system with Apache-Camel and ActiveMQ ? How can high availability be achieved ? What container the Camel should run in ?

Was it helpful?

Solution

Any java application can use camel directly. Only requirement is that the camel jars should be present in classpath. So any container should be fine. The component which gets message from the queue can directly push the message to camel context which in turn can do the processing. For high availability ActiveMQ clustering can be used.

OTHER TIPS

We can use apache karaf as container which provides modular osgi approach and Jboss Fuse as ESB. maven-bundle-plugin can be used for deployment instead jar as bundle contains extra metadata for import and export packages

Below is the Answer as per my experience:

Q : What is a typical/preferable way to build system with Apache-Camel and ActiveMQ :

Ans : It depends on the what technology stack you are using.It can compile/build using ant and maven build tool.

Apache camel is an ESB and used mostly use for system integration using webservice/JMS (public-subscribe model).

Q : How can high availability be achieved ? What container the Camel should run in ?

Ans : Camel supports multi threads, executor service framework and concurrent consumer concepts(aka concurrency)so you can configure it and achieve a high availability.

If you are using standalone application(not web) than you can run on jvm and for web development it can run most of the web development container like tomcat,Jboss etc..

I suggest that you try Apache Karaf for Camel applications.

  1. Define pom.xml and feature.xml.
  2. Install it and run in Karaf.

You can also check Hawtio it provides you monitoring, logs and a visual presentation of routes.

If you need high availability check Karaf Celar. There is documentation on https://karaf.apache.org/documentation.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top