ケースの1- RabbitMQの-5-単純なケース

最も単純なケース:

[email protected]:n_zh A / RabbitMQの-demo.git

 

どのようにMQと簡単な例の分析によって送信されたメッセージを引っ張っ:

 簡単な例のクイックスタートで
    単純なケースによってメッセージを送信し、プルする方法のRabbitMQを分析します
1、ビューProcuder.javaファイル
    初めの初めからのConnectionFactory
        ①最初は一般的な植物であります
            ConnectionFactoryに、あなたは明らかに、このようなデフォルトのユーザー、パスワード、バーチャルホストなど、いくつかの基本的なパラメータを、見ることができます。
            このオブジェクトは、引数なしで、デフォルトのコンストラクタであるため、初期化パラメータは、特定connectionFactory.newConnection()メソッドであります
        ②newConnectionとを入力し()メソッド
パブリック接続newConnectionと()スローIOExceptionが、TimeoutException {
      返す newConnectionと(この .sharedExecutor、Collections.singletonList(住所(はGetHost()、のgetPort()))); 
}

  最終コール:

  デフォルトパラメータのエグゼキュータは、MQアドレス+ポートへのアドレスが使われる、clientProvideNameがnull、nullです

  

  観察し続けます。

FrameHandlerFactory fhFactory = createFrameHandlerFactory()。

  実際には、これはFrameHandlerFactoryのSocketFactoryにあるパッケージを持っていました:

  

  

  カプセル化されているクラスにSocketFrameHandler最終的なリターンは、ソケットです。

  

  AMQConnection新しいターゲットオブジェクトFrameHander以前の使用に戻り、ダウンする続行します。

  

 

  AMQConnectionは、start()メソッドを呼び出します。

  このforループの下に、最初のスタートの直接復帰後?

  

 

 

  AMQConnectionオブジェクトを返す③

    CONNECTINでチャンネルを作成するには、オブジェクトが返されますChannelN

  ④basicPublish方法ChannelNオブジェクトが発表

    最初の交換によって構築routingKeyおよび他のパラメータを公開し、その後ターゲットを構築AMQCommand

  

 

   決勝:

  

 

 プロセス:

 

 

  消費者側:

  またConnectionFactoryの、接続、チャンネルを得るために始めた、とチャンネルが運営して(関係なく、生産面や消費者側の、MQは、チャネルを介して動作するようです)

  ①消費は最終消費者キューを宣言します

 // 5、一般的な消費者 
        QueueingConsumer queueingConsumer = 新新 QueueingConsumer(チャネル)。

  

 

  ②チャンネルによって、このキューとメッセージの関連付けを消費します

    消費者は、キュー内のメッセージを監視するためのキュー。あなたはnextDeliveryメソッドを呼び出すと、内部実装は、メソッド呼び出しキューを取ることです。このメソッドの役割は:キューの先頭を取得および削除、待機は(必要ならば)要素の前に利用可能となっています。メッセージがない場合は、それがブロックされている、ことを意味します。

 

  結果:

  消費者側:

======メッセージを取得するために待機

  生産面:

これは、メッセージを送信しました

ターミナルは、メッセージの生成、消費出力側を送信する場合:

取得するために待機======メッセージ
うさぎこんにちは、エンド消費を - MQの
消費うさぎこんにちは、エンド - MQの
消費うさぎこんにちは、エンド - MQの
消費うさぎこんにちは、エンド - MQの
消費こんにちはのウサギの終わり -mq

 

 上記のコードは、交換を指定し、キュー名routingkeyプロデューサーと同じの消費者側は、成功を転送することができればそれゆえのRabbitMQサーバは自動的に、デフォルトの交換(すなわちデフォルト交換)でメッセージを前方にかかりますが、それ以外の場合は失敗しません。

 

            

おすすめ

転載: www.cnblogs.com/nxzblogs/p/11595182.html