SpringbootアクセスRabbitMQの詳細なチュートリアル

この記事では、人々がRabbitMQのを理解するために、のみアクセスする方法を話し合うMQの原則を議論していないです。実際には、春ブーツ春ブーツを使用して、この記事では提供し、RabbitMQのは非常に簡単で統合さspring-boot-starter-amqp れたメッセージのさまざまなプロジェクトのサポートを。

次のRabbitMQを簡単にお教えアクセスするには、6つのステップに入りました

1.ポンポンの設定ファイルは、主にjarファイルのパッケージを依存します

<依存性> 
     <のgroupId> org.springframework.amqp </のgroupId> 
     <たartifactId>スプリングウサギ</たartifactId> 
     <バージョン> 2.0.4.RELEASE </バージョン> 
</依存>

 

2.プロファイル(application.properties)

##のRabbitMQ 
spring.rabbitmq.host = 127.0.0.1 
spring.rabbitmq.port = 5672 
spring.rabbitmq.username = ルート
spring.rabbitmq.password = ルート
spring.rabbitmq.virtual -host = / 

#のRabbitMQ消息确认
spring.rabbitmq。パブリッシャ -confirms = 
spring.rabbitmq.publisherの -returns = 真の

##のRabbitMQの - 設定
rabbitmq.exchange -key = rabbitmq.test.exchange 
rabbitmq.routing -key = rabbitmq.test.routing.key 
rabbitmq.queue -name = RabbitMQの.queue.name.test

 

3.スイッチのキューとバインディング設定

@value( "$ {rabbitmq.queue名}" 
文字列QUEUENAME。

@value( "$ {rabbitmq.exchangeキー}" 
の文字列exchangeKey。

@value( "$ {rabbitmq.routingキー}" 
の文字列routingKey。

@Bean(値 = "$ {rabbitmq.queue名}" パブリックキューinitOrderCancelQueue(){
     戻り 新しい(QUEUENAME)をキュー; 
} 

@Bean(値 = "$ {rabbitmq.exchangeキー}" 公衆CustomExchange customExchange(){ 
    地図の<string、オブジェクト>引数= 新規 HashMapの<> ();
    返す 新しいですCustomExchange(exchangeKey、 "トピック"、、引数); 
} 

@Bean 
公衆結合バインディング(@Qualifier(値= "$ {rabbitmq.queue名}" キューのキューを、
                       @Qualifier(値 = "$ {rabbitmq.exchangeキー}" )CustomExchange交換){
     戻りBindingBuilder 
            .bindを(キュー)
            .TO(交換)
            .with(routingKey)
            .AND(exchange.getArguments())。
}

 

4.生産

@value( "$ {rabbitmq.exchangeキー}" 
の文字列exchangeKey。

@Autowired 
プライベートAmqpTemplate amqpTemplate。
/ ** 
 *发送MQ 
 * @param routingKey 
 * @param OBJ参数
  * / 
公共 ボイドsendNotificationを(文字列routingKey、オブジェクトobj){
     この.amqpTemplate.convertAndSend(exchangeKey、routingKey、OBJ)。
}

 

5.消費者

@RabbitHandler 
@RabbitListener(キュー = "$ {rabbitmq.queue名}" 公共 ボイド receiveRabbitmqMsg(メッセージmsg、チャネルチャネル、@Header(AmqpHeaders.DELIVERY_TAG)長いタグ){ 
    文字列FUNCNAME = "接收到RabbitmqMsg" 
    logger.info( "{}:{}" 、FUNCNAME、MSG)。
    試す{ 

    } キャッチ(例外e){ 

    } 最後に{ 

    } 
}

 

6.テスト

@Autowired 
RabbitmqProducerプロデューサー。

@value( "$ {rabbitmq.routingキー}" 
の文字列routingKey。

公共 ボイドSENDMSG(){ 
    TestModel testModel = 新しいTestModel()。
    testModel.setName( "FXX" )。
    testModel.setAge( 18 )。
    testModel.setGender( "女の子" );
    試す{ 
        producer.sendNotification(routingKey、testModel)。
    } キャッチ(例外e){ 
        logger.error( "系统异常:" + e.toString())。
    } 
}

 

ゲット!それはシンプルだし、すぐにそれを自分を試してみてください

ソースのダウンロード

  

おすすめ

転載: www.cnblogs.com/renyutao/p/11222427.html