Die JMS- Programmierschnittstelle (Java Message Service) wird zum asynchronen Senden und Empfangen von Nachrichten zwischen Java- Anwendungen oder -Komponenten verwendet . JMS ermöglicht die Implementierung einer Architektur vom Typ MOM (Message Oriented Middleware). Ein Client kann Nachrichten auch im Punkt-zu-Punkt-Kommunikationsmodus synchron empfangen.
Mit der JMS-API können Java-Anwendungen mit nachrichtenbasierter Middleware oder MOM verbunden werden. MOMs ermöglichen Interaktionen zwischen Anwendungskomponenten in einem schwach gekoppelten, asynchronen und zuverlässigen Framework.
JMS ermöglicht den Austausch von Nachrichten zwischen zwei oder mehr Systemen. Dieser Dienst unterstützt das Publish-Subscribe- Modell und das Punkt-zu-Punkt-Modell.
Im Publish-Subscribe-Modell registrieren sich Entitäten zu einem Thema, um Nachrichten zu empfangen. In der Tat werden keine Nachrichten mehr in einer Warteschlange ( Tail ), sondern zu einem Thema gesendet . Wer die Nachrichten veröffentlicht und wer sie erhält, kennt sich nicht.
Für das Punkt-zu-Punkt-Modell stellt der Produzent die Nachrichten in eine Warteschlange und der Verbraucher liest die Nachrichten aus der Warteschlange. In diesem Fall kennt der Produzent das Ziel der Nachrichten und stellt die Nachrichten direkt in die Warteschlange des Verbrauchers. Um dieses Modell zu verwenden, muss der Verbraucher die blockierende Methode receive () aufrufen
Um die JMS-API verwenden zu können, ist ein Dienstanbieter erforderlich, der Verbindungen, Sitzungen, Ziele und Nachrichten verwaltet. Es gibt mehrere JMS-Dienstanbieter:
Artikel zu Open-Source-Implementierungen von JMS:
Artikel zu kommerziellen Implementierungen von JMS:
Alle Java EE-Anwendungsserver ab Version 1.4 müssen einen JMS-Dienst bereitstellen. Auf diesen Dienst muss über JCA ( Java Connector Architecture ) zugegriffen werden können .