Java-Nachrichtendienst (jms)

Definition - Was bedeutet Java Message Service (JMS)?

Java Message Service (JMS) ist eine Anwendungsprogrammierschnittstelle (API) von Sun Microsystems, die als Java-Nachrichten-orientierte Middleware fungiert. Es wurde für den Austausch lose gekoppelter, zuverlässiger und asynchroner Nachrichten zwischen verschiedenen Softwareanwendungskomponenten (Clients genannt) entwickelt, die auf der Java 2 Platform Enterprise Edition (J2EE) basieren.

JMS ist ein Messaging-Standard, mit dem Nachrichten als Anforderungen, Berichte oder Ereignisse erstellt, gesendet, empfangen und gelesen werden können, die von den Softwareanwendungskomponenten und nicht von Menschen verwendet werden. Mit JMS können Programme in unterschiedlichen Systemen oder in verschiedenen Programmiersprachen über Nachrichten miteinander koordiniert werden.

Technische.me erklärt Java Message Service (JMS)

Die JMS-API verwendet zwei Messaging-Modelle:

  1. Punkt-zu-Punkt- oder Warteschlangenmodell
    JMS ist durch eine Zwischenkomponente, eine Warteschlange, lose gekoppelt. Somit kommunizieren Softwarekomponenten indirekt. Dies bedeutet, dass für das Senden von Nachrichtenkomponenten keine Kenntnisse über die empfangende Softwarekomponente erforderlich sind. Dieses Modell zeichnet sich aus durch:

    • Nur eine Komponente empfängt die Nachricht.
    • Die Quellkomponente funktioniert nicht, wenn die empfangende Komponente die Nachricht empfängt.
    • Die empfangende Komponente funktioniert nicht, wenn die Nachricht gesendet wird.
    • Nachrichten, die erfolgreich verarbeitet wurden, werden von der empfangenden Komponente bestätigt.

  2. Publish-and-Subscribe-Modell
    Dieses Modell funktioniert als anonymes Schwarzes Brett. Eine abonnierende Komponente registriert möglicherweise die Notwendigkeit, Nachrichten zu einem bestimmten Thema zu empfangen, aber keine Komponente (Herausgeber oder Abonnent) muss über die andere Bescheid wissen. Dieses Modell ist gekennzeichnet durch mehrere Komponenten, die die Nachricht empfangen, und eine zeitliche Abhängigkeit zwischen Veröffentlichungskomponenten und Abonnementkomponenten wie folgt:

    • Die Herausgeberkomponente erstellt ein Nachrichtenthema, das andere Komponenten abonnieren können.
    • Die Abonnentenkomponente kann weiterhin Nachrichten empfangen, es sei denn, es wird ein dauerhaftes Abonnement eingerichtet.
    • Wenn ein dauerhaftes Abonnement eingerichtet ist, werden Nachrichten, die veröffentlicht wurden, während der Abonnent keine Nachrichten empfangen kann, bei jeder erneuten Verbindung der empfangenden Komponente neu verteilt.