從實戰的角度談微服務(六):對於消息中間件RabbitMQ的基本使用


1、rabbitMQ在docker下的安裝

https://www.rabbitmq.com/download.html

命令

docker run  -d --hostname my-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3.7.15-management

 

訪問管理界面(默認用戶名密碼為guest)

http://192.168.100.104:15672/

 

2、添加依賴jar

<!--rocketMQ 開始 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<!--rocketMQ 結束-->

3、添加配置

spring:
  rabbitmq:
    host: 192.168.100.104
    port: 5672
    username: guest
    password: guest

4、添加使用消息接收類


import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
* @ desc:配置docker 虛擬機104IP的啟動rabbitMQ
* @ Author :.
* @ Date :Created in 19:52 2019/6/17
*/
@Slf4j
@Component
public class MQReceiver {

//1.0,需要手動在管理創建隊列
// @RabbitListener(queues = "myQueue")
//2.0可自動創建隊列
// @RabbitListener(queuesToDeclare = @Queue("testQueue"))
//3.0 自動創建 Exchange和Queue綁定
@RabbitListener(bindings = @QueueBinding(
value = @Queue("myQueues"),
exchange = @Exchange("myExchanges")
))
public void process(String messgae){
log.info("==myQueue=== is:"+messgae);
}
}

 

5、消息發送測試

import com.gensoft.order.OrderApplicationTests;
import org.junit.Test;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.xml.ws.Action;
import java.util.Date;

/**
* @ desc:
* @ Author .
* @ Date :Created in 19:54 2019/6/17
*/
@Component
public class MQRecieverTest extends OrderApplicationTests {

@Autowired
private AmqpTemplate amqpTemplate;

@Test
public void send(){
amqpTemplate.convertAndSend("myQueues","now is"+new Date());
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM