1、什麼是rabbitmq?
rabbitmq 即乙個訊息佇列(訊息中介軟體),主要是用來實現應用程式的非同步和解耦,同時也能起到訊息緩衝,訊息分發的作用(應用解耦和流量削峰)
訊息中介軟體最主要的作用是解耦,中介軟體最標準的用法是生產者生產訊息傳送到佇列,消費者從佇列中拿取訊息並處理,生產者不用關心是誰來消費,消費者不用關心誰在生產訊息,從而達到解耦的目的。在分布式的系統中,訊息佇列也會被用在很多其它的方面,比如:分布式事務的支援,rpc的呼叫等等。
windows環境下的安裝rabbitmq可以參考如下:
2、spring boot整合rabbitmq
a、引入rabbitmq依賴:
org.springframework.boot
spring-boot-starter-amqp
b、配置資訊:
#rabbitmq
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
c、註冊佇列
import org.springframework.amqp.core.queue;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
@configuration
public class rabbitmqconfig
}
d、生產者
package com.guxf.demo.service;
import org.springframework.amqp.core.amqptemplate;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
import com.guxf.demo.domain.rabbitmqconfig;
@service
public class sender
}
e、接收者
package com.guxf.demo.service;
import org.springframework.amqp.core.amqptemplate;
import org.springframework.amqp.rabbit.annotation.rabbitlistener;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
@service
public class receiver
}
package com.guxf.demo.domain;
import org.springframework.amqp.core.binding;
import org.springframework.amqp.core.bindingbuilder;
import org.springframework.amqp.core.queue;
import org.springframework.amqp.core.topicexchange;
import org.springframework.amqp.rabbit.connection.connectionfactory;
import org.springframework.amqp.rabbit.listener.******messagelistenercontainer;
import org.springframework.amqp.rabbit.listener.adapter.messagelisteneradapter;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import com.guxf.demo.service.receiver;
@configuration
public class rabbitmqconfig
@bean
public topicexchange exchange()
@bean
public binding binding(queue queue, topicexchange exchange)
@bean
******messagelistenercontainer container(connectionfactory connectionfactory,
messagelisteneradapter listeneradapter)
@bean
messagelisteneradapter listeneradapter(receiver receiver)
}
SpringBoot使用訊息中介軟體RabbitMQ
首先在docker中安裝rabbitmq,pull 帶有web介面的 docker pull rabbitmq 3 management5672為客戶端,15672為web介面埠 docker run d p5672 5672 p15672 15672 name rabbitmq01 映象id簡要介...
springBoot整合dubbo整合專案
傳統spring 整合dubbo,需要繁瑣的編寫一堆堆的 xml 配置檔案 而springboot整合dubbo後,不在需要寫 xml,通過jar包引用,完 成整合,通過註解的形式完成配置。提高我們的開發效率 目錄結構 1 服務層生產者開發 hs ldm server service 1.1新增du...
SpringBoot整合系列 整合Swagger2
io.springfox springfox swagger2 2.7.0 io.springfox springfox swagger ui 2.7.0 一般無配置項,必要時可以新增自定義配置項,在配置類中讀取 swagger2的配置內容僅僅就是需要建立乙個docket例項 configurati...