SpringBoot統合が遅れメッセージを達成するためのRabbitMQ

まず、Erlangの環境をインストールします

RabbitMQの言語はelarngに基づいています

 

第二に、設置環境のRabbitMQ

参照してください下に設置のRabbitMQ win10

 

第三に、プラグインのインストールrabbitmq_delayed_message_exchange

プラグインをダウンロードhttp://www.rabbitmq.com/community-plugins.html  (プラグインのバージョンは、バージョンとRabbitMQのと一致する必要があります)

アーカイブは、RabbitMQの下にインストールしたディレクトリのプラグインにアンパックダウンロード

执行RabbitMQの-プラグインはrabbitmq_delayed_message_exchangeを有効にします

スタートRabbitMQの

 

sprigbootプロジェクトのPOMファイルで、依存性の増加、以下

<依存>

<groupIdを> org.springframework.boot </ groupIdを>

<たartifactId>春・ブート・スタータAMQP </たartifactId>

</依存関係>

application.propertiesで次の構成ファイル

spring.rabbitmq.host = 127.0.0.1

spring.rabbitmq.port = 5672

spring.rabbitmq.username =テスト

spring.rabbitmq.password = 123456

プロジェクトではキューコンフィギュレーションを増加しました

@Component
パブリッククラスRabbitmqConfig {

    @Bean
    公共CustomExchange delayExchange(){
        地図の<string、オブジェクト>引数=新規HashMapの<>();
        args.put( "X-遅延型"、 "直接")。
        新しいCustomExchange( "test_exchange"、 "X-遅延メッセージ"、真、偽、引数)を返します。
    }

    @Bean
    パブリックキューキュー(){
        キューキュー=新しいキュー( "TEST_QUEUEという"、TRUE)。
        キューを返します。
    }
    
    @Bean
    公共結合結合(){
        リターンBindingBuilder.bind(キュー())に(delayExchange())を有する( "TEST_QUEUEという")noargs()。。。。
    }
}

第五に、メッセージリスナクラスを作成

@Component
パブリッククラスMessageReceiver {

    @RabbitListener(キュー= "TEST_QUEUEという")
    公共ボイド受信(文字列MSG){
        てSimpleDateFormatてSimpleDateFormat SDF新しい新=( "MM-DD-YYYY HH:MM:SS");
        のSystem.out.println( "メッセージを受信:" + sdf.format(新しい新しいA日付()));
        のSystem.out.println( "受信メッセージ:" + MSG);
    }
}
 

5つの単位遅延テストメッセージの効果

@RunWith(SpringRunner.class)
@SpringBootTest
パブリッククラスRabbitmqApplicationTests {

    @Autowired
    プライベートMessageServiceImpl messageService。

    @Test
    ます。public voidセンド(){
        messageService.sendMsg( "test_queue_1"、 "こんにちは、私は遅延MSGです");
    }

发布了20 篇原创文章 · 获赞 4 · 访问量 2万+

おすすめ

転載: blog.csdn.net/lj872224/article/details/88891605