RabbitMQの洞察力

                                                                                    ----私だけのように、ゆっくりと人間の子供を進め、敬意を払うまで追加

質問:何がRabbitMQのは、

  

ここではいくつかの個人的な感情であり、

RabbitMQのAMQPのプロトコルが(次のされて、これは有効であり、明確ではないが、サーバとサーバ間の接続のためのメッセージキューを実現するために)

プロデューサーは、内部のメッセージキューにメッセージを送信することができますお客様は、メッセージキューを消費します

:そのような多くの共通点(1V1)などの2つの間の通り、(専門用語がありますダイレクト(1Vポリ)対多、ポイント)(専門用語では:fanmout

方言に:Aは、メッセージを送信し、Bのみ、この点で、このメッセージを受信することができます。

                          、Dが受信できるメッセージB、Cが、これはポイントツーマルチポイントメッセージで送ります

 

そこで質問です:なぜRabbitMQのを使用する必要があります(シーンの使用はどのようなものです)

非同期処理デカップリングの応用交通クリッピングなど

https://www.cnblogs.com/zhao-yi/p/9299126.html

 

どのようにspringBootを使用するには?

ドッキングウィンドウは、特定のインストールは明確ではない行うには、ミラーのRabbitMQ私自身の使用を実行し、そのRabbitMQのサーバーを使用します

springBoot主な手順で:

      1は、の導入に依存しています 

  <! -引入RabbitMQの消息中间件- > 
        <依存>
            <groupIdを> org.springframework.boot </ groupIdを>
            <たartifactId>春・ブート・スタータAMQP </たartifactId>
        </依存関係>

      図2に示すように、コンフィギュレーションのRabbitMQ接続(ウサギ自体はサーバであり、それは、JDBC全般としてデータ接続に接続されています)

#1を構成しRabbitMQを(あなたがアイテムを表示するために自分のためrabbitPropertiesを見ることができるように構成する必要があり、デフォルトの設定項目) 
Sring:
  RabbitMQの:
    ホスト:192.168.3.48
    ポート:5672
    仮想ホスト:/
    ユーザ名:お客様の
    パスワード:ユーザーレビュー

     3、メッセージを送信し、メッセージのケースを受け取ります

 

    #ニュースリリーステスト
@Test ます。public voidテスト(){ //以前のテンプレートツールのほとんどは、RabbitMQの上で動作しているように一緒にもたらした のSystem.out.println(「HELLOを」); //が必要な以下のパラメータを送信問い合わせメッセージの後に、メッセージが少し面倒クラスですが、この使用することは推奨されていない // rabbitTemplate.send(「qf.direct」、「;あなたが直接接続されていることを忘れないでください」) 地図<文字列、オブジェクトを>地図=新しい新しいHashMapの<>(); map.put( "第一"、 "こんにちは"); map.put( "SECOND、"、 "みなさんこんにちは"); rabbitTemplate.convertAndSend( "exchange.direct"、「QF "マップ); System.out.printlnは("成功した「送られる); }

#テスト消費者のニュース
  @Test 
{公共ボイド受信()
//内部メッセージキューに指定されたメッセージを取得する
オブジェクトrabbitTemplate.receiveAndConvert QF =( "QF")
のSystem.out.println(qf.getClass());
System.out.printlnは( QF)
のSystem.out.println( "正常取得");
}

  

図4に示すように、使用@RabbitListenerする注釈(詳細なロジック、および無知のこの部分の原理を使用して

使用@RabbitListener注釈がRabbitMQのコメントをオンにする必要があります

@EnableRabbit 
@EnableCaching
@MapperScan( "com.qf.springboot01.dao")
@SpringBootApplication
パブリッククラスSpringboot01Application {
    パブリック静的無効メイン(文字列[] args){
        SpringApplication.run(Springboot01Application.class、引数)。
    }
}

 次のようにしている場合に使用します。

    @RabbitListener(キュー= "QF") 
    公共ボイドは(受信対象者の){
        (人物== NULL){場合
            のSystem.out.println( "人物里面是空的")。
        }
        のSystem.out.println(); 
        System.out.println( "接受人" +人)。
        System.out.println(person.toString())。
    }
} 

 注釈 キューキューパラメータは、リスナーが複数のキューに耳を傾けることを指定します

    直接カプセル化されるデータ収集の同じタイプがある場合、メッセージキューの内部整合させるための注釈パラメータを標識する方法であって、そうでない場合は同じ

    カプセル化するだけでなく、メッセージの方言を消費しませではありません:私は、私はそれはあなたに同じことを与えていない場合のパラメータは、あなたとの対応与えるだろうメッセージが、メッセージが表示されます

    私はまた出てきました。

 

5、注意:

      依存を導入する場合、前記RabbitAutoConfigurationの メッセージ本文は、本実施形態のシーケンスに格納されたクラスは、自動的に私たちを助けるために構成されたロットは、また、キューに設定されています

しかし、デフォルトの直列化は失読症で結果キューに格納されたバイト配列としてシリアライズされます。

それで、あなたは彼設定する場合、MessageConverterを次のように:

@Configuration 
パブリッククラスMyAMQPConfig { 
    @Bean 
    公共MessageConverter messageConverter(){ 
        )(新しいJackson2JsonMessageConverterを返します。
    } 
}

  

 

比較的浅いので、これらの単純なものの唯一のレコードは、理解のうえバックするので、現在は、知っています、

あなたは、これらのデータを追加するために戻ってくるホープ

 

おすすめ

転載: www.cnblogs.com/helloqiufei/p/11536473.html