ActiveMQ のセッション設定の関連理解
参考ブログ投稿: http://www.cnblogs.com/SzeCheng/p/4792084.html
参考ブログ投稿: http://activemq.apache.org/Producer-flow-control.html
用語の説明:
P: プロデューサー
C: コンシューマー
サーバー: P または ActiveMQ サービス
クライアント: ActiveMQ サービスまたは C
クライアントがメッセージを正常に受信したという兆候は、メッセージが署名されていることです。メッセージを正常に受信するには、通常、次の 3 つの段階が含まれます。
1.クライアントはメッセージを受け取ります
2.クライアントはメッセージを処理します
3.メッセージは署名されています。
session = connection.createSession(Boolean.false, Session.CLIENT_ACKNOWLEDGE);##第一个参数控制事务,第二个参数控制消息
トランザクションのないセッションでは、メッセージがいつどのように署名されるかは、セッションの設定によって異なります。
1. Session.AUTO_ACKNOWLEDGE
クライアントが受信または onMessage から正常に戻ると、Session はクライアントによるこのメッセージの受信に自動的に署名します。
2. Session.CLIENT_ACKNOWLEDGE
クライアントは、メッセージのacknowledgeメソッドを呼び出してメッセージに署名します。
message.acknowledge();
トランザクションを伴うセッションでは、トランザクションが送信されると署名が自動的に発生します。トランザクションがロールバックされると、受信したすべてのメッセージが再度配信されます。実際、ここでの Session.CLIENT_ACKNOWLEDGE はほとんど役に立ちません。
session = connection.createSession(Boolean.TRUE, Session.CLIENT_ACKNOWLEDGE);
session.commit();
概要:
1. プロデューサーの場合: サーバーは P、クライアントは ActiveMQ サービスです。 セッションは AUTO_ACKNOWLEDGE と CLIENT_ACKNOWLEDGE に設定されますが、状況によりますが、その差はそれほど大きくありません。
2. コンシューマの場合: サーバーは ActiveMQ で、クライアントは C です。セッションは AUTO_ACKNOWLEDGE に設定され、メッセージが受信されると (受信または onMessage が正常に返される)、消費は成功し、データはキューから削除されます。データが目的の結果に正しく処理されるかどうかは気にしません。セッションが CLIENT_ACKNOWLEDGE に設定されている場合、正常に消費するには確認メソッドを手動で呼び出す必要があり、その後データはキューから削除されます。
3. P と C のセッションが相互に影響を与えないように設定されているモード。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











1. 適切なクライアント トランスポート プロトコルを選択します。 ActiveMQ は、STOMP、AMQP、OpenWire などのさまざまなクライアント トランスポート プロトコルをサポートします。パフォーマンスと信頼性を最適化するために、アプリケーションのニーズに基づいて適切なプロトコルを選択してください。 2. メッセージの永続性の構成: 永続的なメッセージはサーバーの再起動後も永続化されますが、非永続的なメッセージは永続化されません。重要なメッセージの場合は、信頼性の高い配信を保証するために永続性を選択します。デモ コード: //メッセージの永続性を設定します。 MessageProducerProducer=session.createProducer(destination);Producer.setdeliveryMode(Deliv)

1. メッセージ ルーティングでは、JMSSelectors を使用してメッセージをフィルタリングします。JMSSelectors を使用して、メッセージ属性に基づいて受信メッセージをフィルタリングし、関連するメッセージのみを処理します。カスタム メッセージ ルーターを作成する: カスタム ルーターを作成することで、ActiveMQ のルーティング機能を拡張して、特定の宛先にメッセージを送信します。ポーリング負荷分散を構成します。受信メッセージを複数のメッセージ コンシューマーに均等に分散して、処理能力を向上させます。 2. 永続化により永続的なセッションが可能になります。アプリケーションやサーバーに障害が発生した場合でも、メッセージを永続的に保存して損失を回避できます。デッド レター キュー (DLQ) を構成する: 処理に失敗したメッセージを再処理または分析のために DLQ に移動します。ジャーナル ストレージの使用: 永続的なメッセージのパフォーマンスを向上させ、メッセージのパフォーマンスを向上させます。

ActiveMQ は、Apache が開発したオープンソースのメッセージミドルウェアで、Java 言語を使用して開発されており、信頼性の高いメッセージング、非同期通信、クラスタサポートなどの特徴を持っています。 ActiveMQ は、異なるアプリケーション間でデータを交換でき、JMS、AMQP、MQtT などの複数のメッセージング プロトコルをサポートします。 1. ActiveMQ の利点 ActiveMQ は非常に成熟したメッセージ ミドルウェアであり、以下の利点があります: 信頼性の高いメッセージ配信: ActiveMQ は、ネットワーク障害やサーバーのダウンタイムの場合でも、メッセージの信頼性の高い配信を保証します。 。非同期通信: ActiveMQ は非同期通信をサポートしており、異なるアプリケーション間の非リアルタイム通信を可能にします。

目录结构導入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

1. メッセージ ブローカーは ActiveMQ のコア コンポーネントであり、すべてのメッセージ フローの処理を担当します。アプリケーションが接続し、メッセージを送受信できるプラットフォームを提供します。 BrokerServicebroker=newBrokerService();broker.addConnector("tcp://0.0.0.0:61616");broker.start();2. メッセージ キューは、ActiveMQ にメッセージを格納するための論理概念コンテナです。メッセージ キューは、複数のプロデューサーからメッセージを受信し、それらを複数のコンシューマーに配信できます。 Queuequeue=session.createQueue("私の

1統合に必要な依存関係をインポートします: org.springframework.bootspring-boot-starter-activemq2application.properties ファイルを作成します spring.activemq.broker-url=tcp://127.0.0.1:61616spring.activemq.user=adminspring.activemq.password =adminserver.port=8080queue=myqueue3. カスタム構成ファイル QueueConfig は構成ファイルを読み取ります

1. JavaJMS の概要 JavaJMS は、メッセージの作成、送信、受信に使用される Java API です。信頼性の高いメッセージング機能を提供し、分散システムやエンタープライズレベルのアプリケーションに最適です。メッセージング システムは、2 つのアプリケーションが異なるマシン上にある場合でも、あるアプリケーションから別のアプリケーションにメッセージを送信できます。 2.JMSAPIJMSAPI は、メッセージを送受信するための一連のインターフェイスとクラスを定義します。これらのインターフェイスとクラスには次のものがあります。 javax.jms.ConnectionFactory: JMS サーバーへの接続を作成するために使用されます。 javax.jms.Connection: JMSサーバーへの接続。ジャバックス。

ActiveMQ は完全にオープン ソースの Java メッセージ サーバーであり、Apache Software Foundation の最も人気のあるプロジェクトの 1 つです。これは Java Message Service (JMS) 仕様に従い、分散型、非同期型、メッセージ指向のアプリケーションを構築するための API セットを提供します。 ActiveMQ は、その信頼性、効率性、柔軟性で知られており、さまざまなエンタープライズ アプリケーションに最適です。信頼性: ActiveMQ は永続ストレージ メカニズムを使用して、メッセージの信頼性の高い配信を保証します。メッセージが ActiveMQ に送信されると、メッセージはディスクに書き込まれ、サーバーに障害が発生した場合でも、これらのメッセージは失われません。サーバーが再起動すると、これらのメッセージが永続ストアから復元され、渡されます。
