Camel innerhalb von ActiveMQ


Quelle : http://upload.wikimedia.org/

„Riding the camel“ impliziert ja irgenwie, dass etwas innerhalb von Camel läuft. Aber Camel wurde absichtlich mit so wenig Abhängigkeiten entwickelt, dass es innerhalb von

  • Java VM
  • Spring-Containter
  • OSGi-Container
  • Servlet-Containern
  • ActiveMQ-Instanz
  • laufen kann. Und seit Version 5.3 gibt es auch native und nahtlose Integration in ActiveMQ, inklusive eigenem Portal für die Verwaltung und Bearbeitung von Routen und Endpoints via Web-Oberfläche.

    Als Basis nehme ich einfach die Standard-Installation und lasse die KahaDB als Persistenz auf Dateisystem-Ebene bestehen. In der Doku steht, dass man in der %ACTIVEMQ_HOME%/conf/activemq.xml eintragen soll, um den EIP-Router zu aktivieren. Ich möchte aber die Web-Komponente verwenden, deshalb lasse ich diesen Eintrag und nehme stattdessen den bestehenden Eintrag in der %ACTIVEMQ_HOME%/conf/jetty.xml und kann anschließend ganz bequem einfach meine Routen in die %ACTIVEMQ_HOME%/conf/camel.xml eintragen. Beim Booten von ActiveMQ erscheint nun auch die Camel-Anwendung und die einzelnen Routen werden aufgelistet.
    Wenn man eigene Beans oder auch Nicht-Standard-Komponenten von Camel verwenden möchte, sollte man die auch nach %ACTIVEMQ_HOME%/lib legen. Sonst findet ActiveMQ/Camel die entsprechenden Klassen nicht.
    Nach erfolgreichem Boot findet man unter

    http://localhost:8161/admin/ das ActiveMQ-Portal
    und unter

    http://localhost:8161/camel/ das Camel-Portal

    Alles in allem ganz easy 🙂