亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

springboot2.0集成rabbitmq的示例代碼

2024-07-14 08:43:00
字體:
來源:轉載
供稿:網友

安裝rabbitmq

簡介: rabbitmq即一個消息隊列,主要用來實現應用程序的異步和解耦,消息緩沖,消息分發的作用.

由于rabbitmq依賴于erlang語言,所以先安裝erlang:

添加erlang solutions源

$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm$ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm$ sudo yum install erlang

erlang完成后安裝rabbitmq:

先下載rpm:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

下載完成后安裝:

yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

安裝時如果遇到下面的依賴錯誤

Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
 
Requires: libreadline.so.5()(64bit)

可以嘗試先執行

$ sudo yum install socat

rabbitmq的基本操作:

$ sudo chkconfig rabbitmq-server on # 添加開機啟動RabbitMQ服務 $ sudo /sbin/service rabbitmq-server start # 啟動服務 $ sudo /sbin/service rabbitmq-server status # 查看服務狀態 $ sudo /sbin/service rabbitmq-server stop # 停止服務 #查看當前所有用戶 $ sudo rabbitmqctl list_users #查看默認guest用戶的權限 $ sudo rabbitmqctl list_user_permissions guest #由于RabbitMQ默認的賬號用戶名和密碼都是guest。為了安全起見, 先刪掉默認用戶 $ sudo rabbitmqctl delete_user guest   #添加新用戶 $ sudo rabbitmqctl add_user username password #設置用戶tag $ sudo rabbitmqctl set_user_tags username administrator #賦予用戶默認vhost的全部操作權限 $ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"#查看用戶的權限 $ sudo rabbitmqctl list_user_permissions username

開啟遠程訪問

默認情況下,RabbitMQ的默認的guest用戶只允許本機訪問, 如果想讓guest用戶能夠遠程訪問的話,只需要將配置文件中的loopback_users列表置為空即可,如下:

{loopback_users, []}

另外關于新添加的用戶,直接就可以從遠程訪問的,如果想讓新添加的用戶只能本地訪問,可以將用戶名添加到上面的列表, 如只允許admin用戶本機訪問。

{loopback_users, ["admin"]}

更新配置后,重啟服務.

###springboot2.0集成rabbitmq

pom引入start依賴:

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

application.properties配置:

#rabbitmq config begin# rabbitmq服務器地址 (默認為127.0.0.1)spring.rabbitmq.host=127.0.0.1# rabbitmq服務器連接端口 (默認為5672)spring.rabbitmq.port=5672spring.rabbitmq.username=adminspring.rabbitmq.password=123456#rabbitmq config end

rabbitmq javabean配置:

package com.snow.config;import org.springframework.amqp.core.Queue;import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;import org.springframework.amqp.rabbit.connection.ConnectionFactory;import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; /** * @Description: RabbitConfig * @Author: 愛飄de小子 * @CreateDate: 2018/8/15 19:59 * @Version: 1.0 */@Configurationpublic class RabbitConfig {   /**   * 消費者數量,默認10   */  public static final int DEFAULT_CONCURRENT = 10;   /**   * 每個消費者獲取最大投遞數量 默認50   */  public static final int DEFAULT_PREFETCH_COUNT = 50;    /**   * 注入 Queue   * @return   */  @Bean  public Queue Queue() {    return new Queue("hello");  }    /**   * 并發消費配置   * @param configurer   * @param connectionFactory   * @return   */  @Bean("pointTaskContainerFactory")  public SimpleRabbitListenerContainerFactory pointTaskContainerFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) {    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();    factory.setPrefetchCount(DEFAULT_PREFETCH_COUNT);    factory.setConcurrentConsumers(DEFAULT_CONCURRENT);    configurer.configure(factory, connectionFactory);    return factory;  } }

發送消息:

/** * 注入AmqpTemplate */@Autowiredprivate AmqpTemplate rabbitTemplate; public void sendMessage(){  //發送消息  this.rabbitTemplate.convertAndSend("hello","你好,rabbitmq");}

convertAndSend方法的第一個參數為QueueName,第二個參數為消息的內容

接收消息:

/**   * 消息接受   * @param message   */  @RabbitListener(queues = "hello") //監聽器監聽指定的QueueName  public void receive(String message) {    System.out.println("接收消息:" + message);  }

并發消費:

sendMessage() 發送消息后,receive() 接受消息,此時receive()接受消息,等待處理完成后,下一個消息才能進入receive(),如果想要消息異步消費,還需配置并發消費:

/**   * 消息接受 并發消費   * @param message   */  @RabbitListener(queues = "hello",containerFactory = "pointTaskContainerFactory")  public void receive(String message) {    System.out.println("接收消息:" + message);  }

@RabbitListener注解中的containerFactory 是RabbitConfig配置的pointTaskContainerFactory,可以自定義如下參數:

/**   * 消費者數量,默認10   */  public static final int DEFAULT_CONCURRENT = 10;   /**   * 每個消費者獲取最大投遞數量 默認50   */  public static final int DEFAULT_PREFETCH_COUNT = 50;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
xxxx欧美18另类的高清| 亚洲国产三级网| 久久99热这里只有精品国产| 午夜精品久久17c| 热99久久精品| 久久视频精品在线| 国产亚洲精品一区二555| 欧美大成色www永久网站婷| 久久久久国色av免费观看性色| 一本色道久久综合亚洲精品小说| 欧美床上激情在线观看| 一区二区三区 在线观看视| 亚洲人永久免费| 欧美成人免费va影院高清| 国产欧美在线看| 欧美壮男野外gaytube| 久久频这里精品99香蕉| 日本人成精品视频在线| 日韩精品在线视频| 国产在线观看精品一区二区三区| 国产香蕉一区二区三区在线视频| 这里只有精品久久| 国产国产精品人在线视| 国产一区玩具在线观看| 亚洲欧美变态国产另类| 亚洲最大av网| 久久韩剧网电视剧| 成人免费xxxxx在线观看| 97视频免费观看| 色综合久久精品亚洲国产| 亚洲一区二区自拍| 中文精品99久久国产香蕉| 国精产品一区一区三区有限在线| 久久精品夜夜夜夜夜久久| 亚洲欧美制服另类日韩| 国产精品久久久精品| 91av免费观看91av精品在线| 成人国产在线激情| 欧美精品成人91久久久久久久| 日本a级片电影一区二区| 日韩影视在线观看| 91精品在线观看视频| 久久精品人人做人人爽| 久久噜噜噜精品国产亚洲综合| 亚洲尤物视频网| 久久国产精品免费视频| 成人网页在线免费观看| 日韩精品极品在线观看| 色狠狠av一区二区三区香蕉蜜桃| 九九热在线精品视频| 国产成人在线播放| 久久久久久com| 亚洲精品一区二三区不卡| 中文字幕视频一区二区在线有码| 亚洲精品丝袜日韩| 国产精品一区专区欧美日韩| 国产一区二区三区直播精品电影| 欧美一级黑人aaaaaaa做受| 欧美三级xxx| 中文字幕亚洲无线码a| 日本免费久久高清视频| 亚洲一区二区三区久久| 一区二区三区在线播放欧美| 欧美激情视频在线观看| 日本一区二区不卡| 欧美激情一区二区三区在线视频观看| 国产精品香蕉在线观看| 久久精品久久久久久国产 免费| 奇米4444一区二区三区| 中文欧美在线视频| 欧美精品第一页在线播放| 亚洲第一页自拍| 亚洲黄色av女优在线观看| 国内外成人免费激情在线视频| 国产va免费精品高清在线观看| 欧美高清videos高潮hd| 米奇精品一区二区三区在线观看| 色偷偷91综合久久噜噜| 亚洲久久久久久久久久久| 色先锋久久影院av| 欧美高清激情视频| 日韩经典一区二区三区| 亚洲第一网站免费视频| 国产精品三级网站| 欧美色另类天堂2015| 亚洲国产日韩欧美在线图片| 国产精品h在线观看| 国产成人精品久久亚洲高清不卡| 日韩免费在线看| 亚洲欧洲黄色网| 国产欧美一区二区三区久久| 久久久久久久国产精品视频| 亚洲成人网在线| 上原亚衣av一区二区三区| 精品国产精品三级精品av网址| 国产专区欧美专区| 午夜精品久久久久久久白皮肤| 久久久999成人| 欧美高跟鞋交xxxxxhd| 国产精品一区二区av影院萌芽| 国产欧美最新羞羞视频在线观看| 亚洲国产精品va在线观看黑人| 7777精品视频| 亚洲国模精品私拍| 久久香蕉精品香蕉| 成人妇女淫片aaaa视频| 亚洲国产日韩欧美在线99| 欧美午夜精品在线| 欧美日韩亚洲精品内裤| 国产91成人在在线播放| 色偷偷av一区二区三区| 7777精品视频| 欧美性开放视频| 亚洲黄色片网站| 精品国产精品三级精品av网址| 国产美女直播视频一区| 中文字幕精品视频| 7m精品福利视频导航| 亚洲人成电影在线观看天堂色| 日韩精品视频在线播放| 久久精品最新地址| 国产成人综合亚洲| 亚洲白拍色综合图区| 国产精品视频一| 一区二区欧美激情| 国产成人精品电影久久久| 欧美激情按摩在线| 色综合色综合网色综合| 欧美电影免费在线观看| 国产日韩av在线播放| 亚洲综合一区二区不卡| www.欧美精品| 这里只有精品视频| 黑人欧美xxxx| 亚洲免费av网址| 欧美在线性视频| 国产精品一区二区三区毛片淫片| 欧美激情视频在线免费观看 欧美视频免费一| 激情亚洲一区二区三区四区| 亚洲三级 欧美三级| 国产精品户外野外| 国产精品黄页免费高清在线观看| 国产日韩欧美成人| 美女撒尿一区二区三区| 欧美激情videos| 久久久久国产精品免费| 91精品久久久久久久久| 色狠狠av一区二区三区香蕉蜜桃| 日韩精品一区二区三区第95| 国产成人精品久久| 国产欧美在线播放| 亚洲欧美制服综合另类| 97在线视频国产| 亚洲在线免费视频| 欧美中文在线字幕| 午夜精品福利在线观看| 国产亚洲精品美女| 国产日韩亚洲欧美| 国产精品一区二区3区| 日韩二区三区在线| 日韩一区av在线| 久久久久免费精品国产| 亚洲成人网在线| 最好看的2019的中文字幕视频|