ホームページ  >  記事  >  Spring Boot 組み込み ActiveMQ Artemis ブローカー接続

Spring Boot 組み込み ActiveMQ Artemis ブローカー接続

WBOY
WBOY転載
2024-02-11 13:39:08817ブラウズ

php エディター Banana は、Spring Boot に組み込まれた ActiveMQ Artemis プロキシ接続を紹介します。 ActiveMQ Artemis は、信頼性の高いメッセージング システムの構築によく使用される、高性能でスケーラブルなメッセージ ブローカーです。 Spring Boot は、ActiveMQ Artemis を統合するためのシンプルで便利な方法を提供します。組み込み接続を通じて、追加の構成やデプロイを行わずに、Spring Boot アプリケーションで ActiveMQ Artemis を直接使用できます。この接続方法により、開発プロセスが簡素化されるだけでなく、パフォーマンスと信頼性が向上し、メッセージ配信がより効率的かつ安定します。リアルタイム アプリケーション、メッセージ キュー、非同期通信のいずれを開発している場合でも、Spring Boot に組み込まれた ActiveMQ Artemis ブローカー接続は検討する価値のあるオプションです。

質問の内容

メッセージをリッスンする非常に単純な Spring Boot 2.7.6 activemq artemis アプリケーションがあります。

リーリー

これは、組み込みプロキシを構成するコードです。複数の受信機を追加して推測しているだけです。さまざまな投稿で addconnectorconfiguration が参照されていますが、今のところどれも機能していないようです。

リーリー

この単純な application.properties:

リーリー

次に、メッセージを生成してプロキシ アドレスに送信する別の Spring Boot アプリケーションを用意します。

リーリー

次に、各アプリケーションを起動して send メソッドを呼び出そうとしますが、次のエラーが発生してプロデューサー アプリケーションからブローカーに接続できません:

リーリー

プロデューサー アプリケーションは、activemq artemis の docker インスタンスに問題なく接続できます。

現在、両方のアプリケーションが同じマシン上で実行されていますが、運用環境では、各アプリケーションを別のポッドで実行したいと考えています。

回避策

私は、あなたがやっていることが可能であり、すべてがうまく機能していることを確認するために、概念実証として非常に単純なプロジェクトをまとめました。組み込みエージェントが開始され、ポート 61616 でリモート クライアントからの接続を受け入れます。

これは application.java:

です リーリー

これは artemisconfig.java:

リーリー

これは私の application.properties:

リーリー

最後に、これが私の pom.xml:

です。 リーリー

次のようにアプリケーションを起動します:

リーリー

次のログレコードを見ました:

リーリー

別のアプリケーションからブローカーにメッセージを送信すると、jmslistener がメッセージを受信します。

プロジェクトをgithubにアップロードしました。

以上がSpring Boot 組み込み ActiveMQ Artemis ブローカー接続の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。