Mule ESB ist eine Opensource-Implementierung eines Enterprise Service Bus. Die kostenpflichtige Enterprise Edition von Mule ESB setzt sich von der freien Community Edition unter anderem durch die out-of-the-box Integration des IBM WebSphereMQ Messaging-Produkts ab. Der folgende Beitrag erläutert, wie man auch in der Community Edition schnell und einfach ein WebSphereMQ-System als JMS-Provider anbindet.
Zunächst sind einige Bibilotheken mit der WebSphereMQ Client-API dem Klassenpfad hinzuzufügen. Im Einzelnen sind dies
- com.ibm.mq.jar
- com.ibm.mqjms.jar
- dbhcore.jar
Diese JARs sind Teil der Installation eines WebSphereMQ-Servers. Alternativ können diese aus dem kostenfreien WebSphereMQ Client verwendet werden. Die kostenfreie Client-Variante ist allerdings nicht XA-fähig. Die JARs sind nach
zu kopieren.
Zur Konfiguration des WebSphereMQ-System müssen nun folgende Parameter bekannt sein:
- IP/Hostname
- Portnummer
- Name der QueueManagers
- Name des Kanals
- User / Password
Der entsprechende Mule-Konnektor kann dann wie folgt konfiguriert werden:
Um die Namespaces „jms“ and „spring“ benutzen zu können, müssen diese im Root-Element der mule-config.xml deklariert werden. Vorausgesetzt, Sie nutzen Mule in Version 3.0, kann die wie folgt aussehen:
Danach kann der WebSphereMQConnector z.B. zur Definition von Inbound JMS-Endpoints verwendet werden:
Für JMS Consumer ist zu beachten, dass für zu lesende Warteschlangen mindestens die Privilegien GET, INQ und BROWSE vergeben worden sind. Dies ist hier detailiert beschrieben. JMS Producer benötigen PUT-Privilegien.
Fazit: wenn Ihre Queues nicht an verteilten Transaktionen teilnehmen müssen, kommen Sie auch mit der kostenfreien Community Edtion des Mule ESB aus, wenn Sie ein WebSphereMQ-System als JMS-Provider integrieren möchten.
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Blog-Autor*in
Tobias Trelle
Software-Architekt
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.