目次
正解
ホームページ Java Spring Integration アダプターを使用して基礎となる MQTT および STOMP 接続を処理する

Spring Integration アダプターを使用して基礎となる MQTT および STOMP 接続を処理する

Feb 05, 2024 pm 10:00 PM

質問の内容

mqtt または stomp 経由で到着するメッセージを処理するための Spring Integration プロセスがいくつかあります。このために、アダプター mqttpahomessagedrivenchanneladapterstompinboundchanneladapter を使用します。 mqtt の場合、ストリーム内のいずれかのエンドポイントが例外をスローすると、アダプターは接続を閉じてメッセージを受信しなくなることがわかりました。同様に、プロキシを再起動しても、プロキシへの接続は再度確立されません。

例外を処理するために、エラー チャネル名をデフォルトで Spring によって処理される値 "errorchannel" アダプターに設定します。私たちの目的は、基礎となる接続を閉じずに、例外をログに記録することだけです。これはプロセス全体で例外を処理する正しい方法ですか?

再接続の問題に関しては、トランスポート プロトコルごとに異なる方法があります。

  • mqtt の場合、connectionoptionsautomaticreconnecttrue に設定します:
リーリー
  • stomp の場合、コンテキスト内の taskschedulerreactornettytcpstompclient:
  • に設定します。
リーリー

これはこの問題に対処する最善の方法ですか?


正解


はい、errorchannel オプションは、mqtt クライアントにスローされる例外を抑制する良い方法です。グローバル errorchannel である必要はありません。さまざまな場所で使用できます。 setautomaticreconnect(true) インバウンドチャネルアダプターに特に推奨されます。

reactornettytcpstompclienttaskscheduler は再接続では機能しません。 Javadoc を参照してください。 reactornettytcpstompclient:

では再接続ロジックが使用されていないと思います。 リーリー

別のバリアントを介した再接続のケース:

リーリー

以上がSpring Integration アダプターを使用して基礎となる MQTT および STOMP 接続を処理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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