国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot集成RabbitMQ(生產(chǎn)者)

這篇具有很好參考價值的文章主要介紹了SpringBoot集成RabbitMQ(生產(chǎn)者)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

默認讀者已經(jīng)對SpringBoot和RabbitMQ比較熟悉

SpringBoot集成RabbitMQ(生產(chǎn)者)的步驟如下:

  1. 創(chuàng)建SpringBoot工程
  2. Maven添加 spring-boot-starter-amqp
  3. 編寫application.properties配置RabbitMQ的信息
  4. 編寫交換機、隊列、綁定配置類
  5. 在業(yè)務(wù)邏輯代碼中注入RabbitTemplate
  6. 調(diào)用RabbitTemplate的方法,完成消息推送

1. 添加依賴


在pom.xml添加依賴:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2. 編寫application.properties

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5276
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/

3. 編寫交換機、隊列、綁定配置類

2.1 方法一:直接new

Bean配置:

package com.lqk.producer;

import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author lqk
 * @Date 2021/6/14
 * @Description
 */
@Configuration
public class ProducerConfig {

    public static final String EXCHANGE_NAME = "exchange_name";
    public static final String QUEUE_NAME = "topic_queue_name";

    @Bean
    public Queue myQueue(){
        Queue queue = new Queue(QUEUE_NAME, true, false, false);
        return queue;
    }

    @Bean
    public Exchange myExchange(){
        FanoutExchange fanoutExchange = new FanoutExchange(EXCHANGE_NAME, true, false);
        return fanoutExchange;
    }
    
    @Bean
    public Binding myBinding(@Qualifier("myQueue") Queue queue, @Qualifier("myExchange") Exchange exchange){
        Binding binding = BindingBuilder.bind(queue).to(exchange).with("test.*").noargs();
        return binding;
    }
}

2.2 方法二:建造者模式

package com.lqk.producer;

import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author 劉乾坤
 * @Date 2021/6/14
 * @Description
 */
@Configuration
public class ProducerConfig {

    public static final String EXCHANGE_NAME = "exchange_name";
    public static final String QUEUE_NAME = "topic_queue_name";

    @Bean
    public Queue myQueue(){
        // 持久化構(gòu)造。  非持久化的構(gòu)造使用nonDurable,想要定義其它的屬性,在build之前繼續(xù)調(diào)用對應(yīng)的方法設(shè)置
        Queue queue = QueueBuilder.durable(QUEUE_NAME).build();
        return queue;
    }

    @Bean
    public Exchange myExchange(){
        // 想要定義其它的屬性,在build之前繼續(xù)調(diào)用對應(yīng)的方法設(shè)置
        Exchange build = ExchangeBuilder.fanoutExchange(EXCHANGE_NAME).build();
        return build;
    }

    @Bean
    public Binding myBinding(@Qualifier("myQueue") Queue queue, @Qualifier("myExchange") Exchange exchange){
        Binding binding = BindingBuilder.bind(queue).to(exchange).with("test.*").noargs();
        return binding;
    }
}

4. 注入RabbitTemplate,發(fā)送消息

@SpringBootTest
@RunWith(SpringRunner.class)
class SpringBootRabbitMqProducerApplicationTests {


    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    void contextLoads() {
        rabbitTemplate.convertAndSend(ProducerConfig.EXCHANGE_NAME, "test.hello", "hi~ha");
    }

}

5. 結(jié)果


成功創(chuàng)建交換機
image.png

成功創(chuàng)建隊列
image.png

成功發(fā)送消息

image.png文章來源地址http://www.zghlxwxcb.cn/news/detail-618524.html

到了這里,關(guān)于SpringBoot集成RabbitMQ(生產(chǎn)者)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • RabbitMQ----生產(chǎn)者可靠性

    RabbitMQ----生產(chǎn)者可靠性

    生產(chǎn)者可靠性主要分為兩個方面: 生產(chǎn)者重連 生產(chǎn)者確認 ????????有的時候由于網(wǎng)絡(luò)波動,可能會出現(xiàn)客戶端連接MO失敗的情況。通過配置我們可以開啟連接失敗后的重連機制: 注意: ????????當網(wǎng)絡(luò)不穩(wěn)定的時候,利用重試機制可以有效提高消息發(fā)送的成功率。不

    2024年01月21日
    瀏覽(35)
  • RabbitMQ-生產(chǎn)者可靠性

    RabbitMQ-生產(chǎn)者可靠性

    ? ? ? ? 由于網(wǎng)絡(luò)波動導(dǎo)致客戶端無法連接上MQ,這是可以開啟MQ的失敗后重連機制。 ? ? ? ? 注意: ? ? ? ? ? ? ? ? 是連接失敗的重試,而不是消息發(fā)送失敗后的重試。 ? ? ? ? 這種超時重連的方式是 阻塞式 的,后面的代碼沒辦法執(zhí)行,如果說業(yè)務(wù)要求比較嚴格,則需

    2024年01月21日
    瀏覽(30)
  • RabbitMQ之生產(chǎn)者可靠性

    有的時候由于網(wǎng)絡(luò)波動,可能會出現(xiàn)客戶端連接RabbitMQ失敗的情況。通過配置我們可以開啟 連接失敗后 的重連機制 注:當網(wǎng)絡(luò)不穩(wěn)定的時候,利用重試機制可以有效提高消息發(fā)送的成功率。不過SpringAMQP提供的重試機制是阻塞式的重試,也就是說多次重試等待的過程中,當前

    2024年01月22日
    瀏覽(28)
  • RabbitMQ生產(chǎn)者的可靠性

    RabbitMQ生產(chǎn)者的可靠性

    目錄 MQ使用時會出現(xiàn)的問題 生產(chǎn)者的可靠性 1、生產(chǎn)者重連 2、生產(chǎn)者確認 3、數(shù)據(jù)持久化 交換機持久化 隊列持久化 消息持久化 LazyQueue懶加載 MQ使用時會出現(xiàn)的問題 發(fā)送消息時丟失: 生產(chǎn)者發(fā)送消息時連接MQ失敗 生產(chǎn)者發(fā)送消息到達MQ后未找到 Exchange 生產(chǎn)者發(fā)送消息到達

    2024年02月08日
    瀏覽(31)
  • rabbitmq消費者與生產(chǎn)者

    rabbitmq消費者與生產(chǎn)者

    在第一次學習rabbitmq的時候,遇到了許多不懂得 第一步導(dǎo)包 第二步新增生產(chǎn)者 在這里中: connectionFactory.setVirtualHost(\\\"my_vhost\\\");//填寫自己的隊列名稱,如果你的為”/“則填寫\\\'\\\'/\\\'\\\' 第三步新增消費者 消息獲取成功 注意如果你用的云服務(wù)器需要打開這兩個端口 5672 15672 如果你使

    2024年02月11日
    瀏覽(26)
  • RabbitMQ 生產(chǎn)者-消息丟失 之 場景分析

    ??生產(chǎn)者發(fā)送消息的流程如下:首先生產(chǎn)者和RabbitMQ服務(wù)器建立連接,然后創(chuàng)建信道,通過信道發(fā)送消息給RabbitMQ服務(wù)器,RabbitMQ服務(wù)器接收到消息后交由交換機進行消息存儲,交換機根據(jù)不同策略將消息路由到指定隊列中。在此過程中,可能會存在以下消息丟失的場景:

    2024年02月14日
    瀏覽(26)
  • 【RabbitMQ】RabbitMQ 消息的可靠性 —— 生產(chǎn)者和消費者消息的確認,消息的持久化以及消費失敗的重試機制_rabbitmq 生產(chǎn)者消息確認

    【RabbitMQ】RabbitMQ 消息的可靠性 —— 生產(chǎn)者和消費者消息的確認,消息的持久化以及消費失敗的重試機制_rabbitmq 生產(chǎn)者消息確認

    先自我介紹一下,小編浙江大學畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7 深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前! 因此收集整理了一份《2024年最新大數(shù)據(jù)全套學習資料》,

    2024年04月26日
    瀏覽(66)
  • RabbitMQ消息可靠性(一)-- 生產(chǎn)者消息確認

    RabbitMQ消息可靠性(一)-- 生產(chǎn)者消息確認

    目錄 前言 一、消息確認流程圖 二、生產(chǎn)者消息確認 1、publisher-confirm(發(fā)送者確認) 2、publisher-return(發(fā)送者回執(zhí)) 三、代碼實現(xiàn) 1、修改application.yml 配置 2、ConfirmCallback函數(shù)和ReturnCallback函數(shù) 在項目中,引入了RabbitMQ這一中間件,必然也需要在業(yè)務(wù)中增加對數(shù)據(jù)安全性的一

    2024年02月04日
    瀏覽(23)
  • Java編寫簡易rabbitmq生產(chǎn)者與消費者

    開發(fā)時經(jīng)常與其它系統(tǒng)用rabbitmq對接,當需要自測時,還是自己寫rabbitmq生產(chǎn)者、消費者自測方便些。 下面總結(jié)下不用框架、使用java編寫簡易rabbitmq的方法。 (1)如果是maven,那就用 (2)如果沒用maven,那就找一個 amqp-client-3.3.4.jar 文件,然后引入項目 說明: (1)其中的配置,按照

    2024年01月16日
    瀏覽(22)
  • Spring整合RabbitMQ-配制文件方式-1-消息生產(chǎn)者

    Spring-amqp是對AMQP的一些概念的一些抽象,Spring-rabbit是對RabbitMQ操作的封裝實現(xiàn)。 主要有幾個核心類 RabbitAdmin 、 RabbitTemplate 、 SimpleMessageListenerContainer 等 RabbitAdmin 類完成對Exchange、Queue、Binding的操作,在容器中管理 了 RabbitAdmin 類的時候,可以對Exchange、Queue、Binding進行自動聲

    2024年02月09日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包