pom
<!-- AMQO 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
config
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MQConfig {
@Bean
public MessageConverter getMessageConverter(){
//更改序列化的方式 防止一乱码
return new Jackson2JsonMessageConverter();
}
@Bean
public Queue queue(){
//初始化一个队列
Queue queue = new Queue("rabbitQueues", true);
return queue;
}
}
发送和获取:
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class RabbitSend {
@Autowired
private AmqpTemplate rabbitTemplate;
/**
* @Description: 往rabbitQueues发送消息
* @author an
* @date 2022/4/25 10:21
*/
public void send( String msg){
System.out.println("Sender msg: " + msg);
this.rabbitTemplate.convertAndSend("rabbitQueues",msg);
}
}
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author Administrator
* @Description 监听队列rabbitQueues
* @date 2022/4/25 09:19
**/
@Component
@RabbitListener(queuesToDeclare = @Queue("rabbitQueues"))
public class RabbitRecevier {
/**
* @Description: 直接从rabbitQueues获取内容
* @author an
* @date 2022/4/25 10:14
*/
@RabbitHandler
public void process(String msg){
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
System.out.println("Recevier1 消费消息 :"+msg+"-"+date);
}
}