Heim php教程 PHP开发 Verwandtes Verständnis der Sitzungseinstellungen in ActiveMQ

Verwandtes Verständnis der Sitzungseinstellungen in ActiveMQ

Nov 22, 2016 pm 01:14 PM
activemq

Referenz-Blogbeitrag: http://www.cnblogs.com/SzeCheng/p/4792084.html

Referenz-Blogbeitrag: http://activemq.apache.org/producer-flow-control. html

Begriffserklärung:

P: Producer

C: Consumer

Server: P oder ActiveMQ-Dienst

Client: ActiveMQ Dienst oder C

Das Zeichen dafür, dass der Client eine Nachricht erfolgreich empfängt, ist, dass die Nachricht signiert wurde. Der erfolgreiche Empfang einer Nachricht umfasst im Allgemeinen die folgenden drei Phasen:

1. Der Kunde erhält die Nachricht;

2. Der Client verarbeitet die Nachricht;

3. Die Nachricht ist signiert.

session = connection.createSession(Boolean.false, Session.CLIENT_ACKNOWLEDGE);##第一个参数控制事务,第二个参数控制消息
Nach dem Login kopieren

In einer Sitzung ohne Transaktionen hängt es von den Sitzungseinstellungen ab, wann und wie eine Nachricht signiert wird.

1. Session.AUTO_ACKNOWLEDGE

Wenn der Client erfolgreich von „receive“ oder „onMessage“ zurückkehrt, signiert Session automatisch den Empfang dieser Nachricht durch den Client.

2. Session.CLIENT_ACKNOWLEDGE

Der Client signiert die Nachricht, indem er die Bestätigungsmethode der Nachricht aufruft.

message.acknowledge();

In einer Sitzung mit einer Transaktion erfolgt die Signatur automatisch, wenn die Transaktion übermittelt wird. Wenn die Transaktion zurückgesetzt wird, werden alle empfangenen Nachrichten erneut zugestellt. Tatsächlich ist Session.CLIENT_ACKNOWLEDGE hier von geringem Nutzen.

session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE);
Nach dem Login kopieren
session.commit();
Nach dem Login kopieren

Zusammenfassung:

1 Für den Produzenten: Der Server ist P und der Client ist der ActiveMQ-Dienst. Die Sitzung ist auf AUTO_ACKNOWLEDGE und CLIENT_ACKNOWLEDGE eingestellt. Relativ gesehen ist der Unterschied nicht sehr groß.

2. Für Verbraucher: Der Server ist ActiveMQ und der Client ist C. Die Sitzung wird auf AUTO_ACKNOWLEDGE gesetzt. Wenn eine Nachricht empfangen wird (receive oder onMessage erfolgreich zurückgegeben), ist der Verbrauch erfolgreich und die Daten werden aus der Warteschlange entfernt. Es ist uns egal, ob die Daten korrekt zu den gewünschten Ergebnissen verarbeitet werden; wenn die Sitzung auf CLIENT_ACKNOWLEDGE gesetzt ist, muss die Bestätigungsmethode für eine erfolgreiche Nutzung manuell aufgerufen werden, und dann werden die Daten aus der Warteschlange entfernt.

3. In welchem ​​Modus die Sitzungen von P und C keinen Einfluss aufeinander haben.


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

20 Best Practices für Java ActiveMQ 20 Best Practices für Java ActiveMQ Feb 20, 2024 pm 09:48 PM

1. Wählen Sie das entsprechende Client-Transportprotokoll. ActiveMQ unterstützt eine Vielzahl von Client-Transportprotokollen, darunter STOMP, AMQP und OpenWire. Wählen Sie das richtige Protokoll basierend auf den Anforderungen Ihrer Anwendung, um Leistung und Zuverlässigkeit zu optimieren. 2. Konfigurieren Sie die Nachrichtenpersistenz. Permanente Nachrichten bleiben auch nach Serverneustarts bestehen, nicht persistente Nachrichten hingegen nicht. Wählen Sie für kritische Nachrichten Persistenz, um eine zuverlässige Zustellung sicherzustellen. Democode: //Nachrichtenpersistenz festlegen MessageProducerproducer=session.createProducer(destination);producer.setDeliveryMode(Deliv

20 erweiterte Tipps für Java ActiveMQ 20 erweiterte Tipps für Java ActiveMQ Feb 20, 2024 pm 09:51 PM

1. Das Nachrichtenrouting verwendet JMSSelectors zum Filtern von Nachrichten: Verwenden Sie JMSSelectors, um eingehende Nachrichten basierend auf Nachrichtenattributen zu filtern und nur relevante Nachrichten zu verarbeiten. Erstellen Sie einen benutzerdefinierten Nachrichtenrouter: Erweitern Sie die Routingfunktionen von ActiveMQ, um Nachrichten an bestimmte Ziele zu senden, indem Sie einen benutzerdefinierten Router schreiben. Konfigurieren Sie den Polling-Lastausgleich: Verteilen Sie eingehende Nachrichten gleichmäßig auf mehrere Nachrichtenkonsumenten, um die Verarbeitungsfähigkeiten zu verbessern. 2. Persistenz ermöglicht dauerhafte Sitzungen: Sie stellt sicher, dass Nachrichten auch bei einem Anwendungs- oder Serverausfall dauerhaft gespeichert werden können, um Verluste zu vermeiden. Konfigurieren Sie die Dead Letter Queue (DLQ): Verschieben Sie Nachrichten, die nicht verarbeitet werden können, zur erneuten Verarbeitung oder Analyse in die DLQ. Verwenden des Journalspeichers: Verbessern Sie die Leistung persistenter Nachrichten, reduzieren Sie sie

Java ActiveMQ: Asynchrone Kommunikation in verteilten Systemen einfach implementieren Java ActiveMQ: Asynchrone Kommunikation in verteilten Systemen einfach implementieren Feb 19, 2024 pm 10:18 PM

ActiveMQ ist eine von Apache entwickelte Open-Source-Nachrichten-Middleware. Sie wurde in der Java-Sprache entwickelt und zeichnet sich durch zuverlässige Nachrichtenübermittlung, asynchrone Kommunikation und Cluster-Unterstützung aus. ActiveMQ kann Daten zwischen verschiedenen Anwendungen austauschen und unterstützt mehrere Messaging-Protokolle wie JMS, AMQP und MQtT. 1. Vorteile von ActiveMQ ActiveMQ ist eine sehr ausgereifte Nachrichten-Middleware. Sie bietet die folgenden Vorteile: Zuverlässige Nachrichtenzustellung: Selbst bei einem Netzwerkausfall oder einem Serverausfall geht die Nachricht nicht verloren . Asynchrone Kommunikation: ActiveMQ unterstützt die asynchrone Kommunikation und ermöglicht so eine Nicht-Echtzeit-Kommunikation zwischen verschiedenen Anwendungen.

So integrieren Sie ActiveMQ in SpringBoot So integrieren Sie ActiveMQ in SpringBoot May 11, 2023 pm 06:16 PM

目录结构引入maven依赖org.springframework.bootspring-boot-starter-parent1.5.4.RELEASEUTF-8UTF-81.8org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot- starter-testtestorg.springframework

20 unverzichtbare Konzepte für Java ActiveMQ 20 unverzichtbare Konzepte für Java ActiveMQ Feb 21, 2024 am 08:40 AM

1. Message Broker ist die Kernkomponente von ActiveMQ und für die Verarbeitung aller Nachrichtenflüsse verantwortlich. Es bietet eine Plattform, auf der Anwendungen Verbindungen herstellen, Nachrichten senden und empfangen können. BrokerServicebroker=newBrokerService();broker.addConnector("tcp://0.0.0.0:61616");broker.start();2 Die Nachrichtenwarteschlange ist ein logischer Konzeptcontainer zum Speichern von Nachrichten in ActiveMQ. Eine Nachrichtenwarteschlange kann Nachrichten von mehreren Produzenten empfangen und an mehrere Konsumenten übermitteln. Queuequeue=session.createQueue("my

So integrieren Sie Activemq in Springboot So integrieren Sie Activemq in Springboot May 21, 2023 pm 01:13 PM

1Importieren Sie die für die Integration erforderlichen Abhängigkeiten: org.springframework.bootspring-boot-starter-activemq2Erstellen Sie die application.properties-Datei spring.activemq.broker-url=tcp://127.0.0.1:61616spring.activemq.user=adminspring.activemq =adminserver.port=8080queue=myqueue3. Benutzerdefinierte Konfigurationsdatei QueueConfig liest die Konfigurationsdatei

Erste Schritte mit Java JMS: Erlernen Sie ganz einfach die Grundlagen der Messaging-Technologie Erste Schritte mit Java JMS: Erlernen Sie ganz einfach die Grundlagen der Messaging-Technologie Feb 26, 2024 am 10:34 AM

1. Einführung in JavaJMS JavaJMS ist eine Java-API zum Erstellen, Senden und Empfangen von Nachrichten. Es bietet zuverlässige Messaging-Funktionen und ist ideal für verteilte Systeme und Anwendungen auf Unternehmensebene. Messaging-Systeme können Nachrichten von einer Anwendung an eine andere senden, selbst wenn sich die beiden Anwendungen auf unterschiedlichen Computern befinden. 2.JMSAPIJMSAPI definiert eine Reihe von Schnittstellen und Klassen zum Senden und Empfangen von Nachrichten. Zu diesen Schnittstellen und Klassen gehören: javax.jms.ConnectionFactory: Wird zum Erstellen von Verbindungen zu JMS-Servern verwendet. javax.jms.Connection: Verbindung zum JMS-Server. javax.

Java ActiveMQ: Unterstützt Unternehmen bei der zuverlässigen und effizienten Nachrichtenübertragung Java ActiveMQ: Unterstützt Unternehmen bei der zuverlässigen und effizienten Nachrichtenübertragung Feb 19, 2024 pm 10:12 PM

ActiveMQ ist ein vollständig Open-Source-Java-Nachrichtenserver und eines der beliebtesten Projekte der Apache Software Foundation. Es folgt der Java Message Service (JMS)-Spezifikation und stellt eine Reihe von APIs zum Erstellen verteilter, asynchroner und nachrichtenorientierter Anwendungen bereit. ActiveMQ ist für seine Zuverlässigkeit, Effizienz und Flexibilität bekannt und eignet sich daher ideal für eine Vielzahl von Unternehmensanwendungen. Zuverlässigkeit: ActiveMQ verwendet einen dauerhaften Speichermechanismus, um eine zuverlässige Zustellung von Nachrichten sicherzustellen. Wenn eine Nachricht an ActiveMQ gesendet wird, wird sie auf die Festplatte geschrieben und selbst wenn der Server ausfällt, gehen diese Nachrichten nicht verloren. Wenn der Server neu startet, stellt er diese Nachrichten aus dem persistenten Speicher wieder her und übergibt sie

See all articles